{"diffoscope-json-version": 1, "source1": "/srv/reproducible-results/rbuild-debian/r-b-build.rtWy3plI/b1/allegro5_5.2.8.0+dfsg-1_arm64.changes", "source2": "/srv/reproducible-results/rbuild-debian/r-b-build.rtWy3plI/b2/allegro5_5.2.8.0+dfsg-1_arm64.changes", "unified_diff": null, "details": [{"source1": "Files", "source2": "Files", "unified_diff": "@@ -1,9 +1,9 @@\n \n- 673d973f5c70f3c581536259ecaa042b 1512864 doc optional allegro5-doc_5.2.8.0+dfsg-1_all.deb\n+ 487476dd73d5a4e1059cd10fd0760bb3 1504464 doc optional allegro5-doc_5.2.8.0+dfsg-1_all.deb\n 458e25ff4f76b9a9e6e847bce3cdbb7a 16952 libdevel optional liballegro-acodec5-dev_5.2.8.0+dfsg-1_arm64.deb\n 9ef047bb42d9aa132129cf7b57d4a5a3 60860 debug optional liballegro-acodec5.2-dbgsym_5.2.8.0+dfsg-1_arm64.deb\n 0aeea781320da8bc217a4c275fd21499 34412 libs optional liballegro-acodec5.2_5.2.8.0+dfsg-1_arm64.deb\n 6846d032bacb500ea7145ab5a62eac6e 19740 libdevel optional liballegro-audio5-dev_5.2.8.0+dfsg-1_arm64.deb\n ae13189617543976db6d093a4c3ecda9 106472 debug optional liballegro-audio5.2-dbgsym_5.2.8.0+dfsg-1_arm64.deb\n 914257468a46a9b78510a33e802be075 53192 libs optional liballegro-audio5.2_5.2.8.0+dfsg-1_arm64.deb\n a50c2dfd0125e08b4b6f88a4166c2135 18028 libdevel optional liballegro-dialog5-dev_5.2.8.0+dfsg-1_arm64.deb\n"}, {"source1": "allegro5-doc_5.2.8.0+dfsg-1_all.deb", "source2": "allegro5-doc_5.2.8.0+dfsg-1_all.deb", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -1,3 +1,3 @@\n -rw-r--r-- 0 0 0 4 2022-12-06 16:59:12.000000 debian-binary\n--rw-r--r-- 0 0 0 31448 2022-12-06 16:59:12.000000 control.tar.xz\n--rw-r--r-- 0 0 0 1481224 2022-12-06 16:59:12.000000 data.tar.xz\n+-rw-r--r-- 0 0 0 31420 2022-12-06 16:59:12.000000 control.tar.xz\n+-rw-r--r-- 0 0 0 1472852 2022-12-06 16:59:12.000000 data.tar.xz\n"}, {"source1": "control.tar.xz", "source2": "control.tar.xz", "unified_diff": null, "details": [{"source1": "control.tar", "source2": "control.tar", "unified_diff": null, "details": [{"source1": "./control", "source2": "./control", "unified_diff": "@@ -1,13 +1,13 @@\n Package: allegro5-doc\n Source: allegro5\n Version: 2:5.2.8.0+dfsg-1\n Architecture: all\n Maintainer: Debian Games Team \n-Installed-Size: 5678\n+Installed-Size: 5528\n Depends: fonts-dejavu-core\n Section: doc\n Priority: optional\n Multi-Arch: foreign\n Homepage: https://liballeg.org/\n Description: documentation for the Allegro 5 library\n This package contains the Allegro documentation in various formats,\n"}, {"source1": "./md5sums", "source2": "./md5sums", "unified_diff": null, "details": [{"source1": "./md5sums", "source2": "./md5sums", "comments": ["Files differ"], "unified_diff": null}]}]}]}, {"source1": "data.tar.xz", "source2": "data.tar.xz", "unified_diff": null, "details": [{"source1": "data.tar", "source2": "data.tar", "unified_diff": null, "details": [{"source1": "file list", "source2": "file list", "unified_diff": "@@ -197,399 +197,399 @@\n -rw-r--r-- 0 root (0) root (0) 5396 2017-05-30 18:25:58.000000 ./usr/share/doc/allegro5-doc/examples/ex_window_maximized.c\n -rw-r--r-- 0 root (0) root (0) 2660 2015-08-31 04:43:15.000000 ./usr/share/doc/allegro5-doc/examples/ex_window_title.c\n -rw-r--r-- 0 root (0) root (0) 4515 2021-10-23 04:51:52.000000 ./usr/share/doc/allegro5-doc/examples/ex_windows.c\n -rw-r--r-- 0 root (0) root (0) 1674 2013-11-06 11:26:41.000000 ./usr/share/doc/allegro5-doc/examples/ex_winfull.c\n -rw-r--r-- 0 root (0) root (0) 19521 2016-02-21 20:36:27.000000 ./usr/share/doc/allegro5-doc/examples/nihgui.cpp\n -rw-r--r-- 0 root (0) root (0) 6456 2013-07-07 19:37:58.000000 ./usr/share/doc/allegro5-doc/examples/nihgui.hpp\n drwxr-xr-x 0 root (0) root (0) 0 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/\n--rw-r--r-- 0 root (0) root (0) 12006 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/acodec.html\n--rw-r--r-- 0 root (0) root (0) 270452 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/audio.html\n+-rw-r--r-- 0 root (0) root (0) 11365 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/acodec.html\n+-rw-r--r-- 0 root (0) root (0) 222951 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/audio.html\n -rw-r--r-- 0 root (0) root (0) 36350 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/autosuggest.js\n--rw-r--r-- 0 root (0) root (0) 85229 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/color.html\n--rw-r--r-- 0 root (0) root (0) 37451 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/config.html\n+-rw-r--r-- 0 root (0) root (0) 65575 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/color.html\n+-rw-r--r-- 0 root (0) root (0) 36835 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/config.html\n -rw-r--r-- 0 root (0) root (0) 17025 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/direct3d.html\n--rw-r--r-- 0 root (0) root (0) 81613 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/display.html\n--rw-r--r-- 0 root (0) root (0) 77986 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/events.html\n--rw-r--r-- 0 root (0) root (0) 61528 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/file.html\n--rw-r--r-- 0 root (0) root (0) 55962 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/fixed.html\n--rw-r--r-- 0 root (0) root (0) 116488 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/font.html\n--rw-r--r-- 0 root (0) root (0) 41928 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/fshook.html\n--rw-r--r-- 0 root (0) root (0) 13249 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/fullscreen_mode.html\n+-rw-r--r-- 0 root (0) root (0) 81265 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/display.html\n+-rw-r--r-- 0 root (0) root (0) 76630 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/events.html\n+-rw-r--r-- 0 root (0) root (0) 61020 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/file.html\n+-rw-r--r-- 0 root (0) root (0) 55786 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/fixed.html\n+-rw-r--r-- 0 root (0) root (0) 93506 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/font.html\n+-rw-r--r-- 0 root (0) root (0) 41161 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/fshook.html\n+-rw-r--r-- 0 root (0) root (0) 13087 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/fullscreen_mode.html\n -rw-r--r-- 0 root (0) root (0) 16408 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/getting_started.html\n--rw-r--r-- 0 root (0) root (0) 220633 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/graphics.html\n--rw-r--r-- 0 root (0) root (0) 69012 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/haptic.html\n--rw-r--r-- 0 root (0) root (0) 12823 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/image.html\n+-rw-r--r-- 0 root (0) root (0) 219103 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/graphics.html\n+-rw-r--r-- 0 root (0) root (0) 68337 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/haptic.html\n+-rw-r--r-- 0 root (0) root (0) 11976 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/image.html\n drwxr-xr-x 0 root (0) root (0) 0 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/images/\n -rw-r--r-- 0 root (0) root (0) 21480 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/images/LINE_CAP.png\n -rw-r--r-- 0 root (0) root (0) 15893 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/images/LINE_JOIN.png\n -rw-r--r-- 0 root (0) root (0) 65065 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/images/audio.png\n -rw-r--r-- 0 root (0) root (0) 16058 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/images/primitives1.png\n -rw-r--r-- 0 root (0) root (0) 25805 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/images/primitives2.png\n -rw-r--r-- 0 root (0) root (0) 6469 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/index.html\n -rw-r--r-- 0 root (0) root (0) 109449 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/index_all.html\n--rw-r--r-- 0 root (0) root (0) 34838 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/joystick.html\n--rw-r--r-- 0 root (0) root (0) 22779 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/keyboard.html\n+-rw-r--r-- 0 root (0) root (0) 34302 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/joystick.html\n+-rw-r--r-- 0 root (0) root (0) 22567 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/keyboard.html\n -rw-r--r-- 0 root (0) root (0) 8705 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/main.html\n--rw-r--r-- 0 root (0) root (0) 10783 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/memfile.html\n--rw-r--r-- 0 root (0) root (0) 23133 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/memory.html\n--rw-r--r-- 0 root (0) root (0) 10172 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/misc.html\n--rw-r--r-- 0 root (0) root (0) 17484 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/monitor.html\n--rw-r--r-- 0 root (0) root (0) 39776 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/mouse.html\n--rw-r--r-- 0 root (0) root (0) 90710 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/native_dialog.html\n+-rw-r--r-- 0 root (0) root (0) 10148 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/memfile.html\n+-rw-r--r-- 0 root (0) root (0) 21741 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/memory.html\n+-rw-r--r-- 0 root (0) root (0) 10021 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/misc.html\n+-rw-r--r-- 0 root (0) root (0) 17322 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/monitor.html\n+-rw-r--r-- 0 root (0) root (0) 39570 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/mouse.html\n+-rw-r--r-- 0 root (0) root (0) 76509 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/native_dialog.html\n -rw-r--r-- 0 root (0) root (0) 26484 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/opengl.html\n -rw-r--r-- 0 root (0) root (0) 3973 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/pandoc.css\n -rw-r--r-- 0 root (0) root (0) 37115 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/path.html\n--rw-r--r-- 0 root (0) root (0) 11902 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/physfs.html\n+-rw-r--r-- 0 root (0) root (0) 11469 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/physfs.html\n -rw-r--r-- 0 root (0) root (0) 25747 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/platform.html\n--rw-r--r-- 0 root (0) root (0) 172587 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/primitives.html\n+-rw-r--r-- 0 root (0) root (0) 143428 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/primitives.html\n -rw-r--r-- 0 root (0) root (0) 71562 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/search_index.js\n--rw-r--r-- 0 root (0) root (0) 44884 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/shader.html\n--rw-r--r-- 0 root (0) root (0) 15770 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/state.html\n--rw-r--r-- 0 root (0) root (0) 67306 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/system.html\n--rw-r--r-- 0 root (0) root (0) 35128 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/threads.html\n+-rw-r--r-- 0 root (0) root (0) 44272 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/shader.html\n+-rw-r--r-- 0 root (0) root (0) 15417 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/state.html\n+-rw-r--r-- 0 root (0) root (0) 66981 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/system.html\n+-rw-r--r-- 0 root (0) root (0) 34546 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/threads.html\n -rw-r--r-- 0 root (0) root (0) 12236 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/time.html\n--rw-r--r-- 0 root (0) root (0) 25283 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/timer.html\n--rw-r--r-- 0 root (0) root (0) 22404 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/touch.html\n--rw-r--r-- 0 root (0) root (0) 81363 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/transformations.html\n--rw-r--r-- 0 root (0) root (0) 101006 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/utf8.html\n--rw-r--r-- 0 root (0) root (0) 36175 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/video.html\n+-rw-r--r-- 0 root (0) root (0) 24471 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/timer.html\n+-rw-r--r-- 0 root (0) root (0) 21450 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/touch.html\n+-rw-r--r-- 0 root (0) root (0) 81161 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/transformations.html\n+-rw-r--r-- 0 root (0) root (0) 100613 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/utf8.html\n+-rw-r--r-- 0 root (0) root (0) 30831 2022-12-06 16:59:12.000000 ./usr/share/doc/allegro5-doc/refman/video.html\n drwxr-xr-x 0 root (0) root (0) 0 2022-12-06 16:59:12.000000 ./usr/share/doc-base/\n -rw-r--r-- 0 root (0) root (0) 300 2022-12-06 16:50:02.000000 ./usr/share/doc-base/allegro5-doc.allegro5\n drwxr-xr-x 0 root (0) root (0) 0 2022-12-06 16:59:12.000000 ./usr/share/man/\n drwxr-xr-x 0 root (0) root (0) 0 2022-12-06 16:59:12.000000 ./usr/share/man/man3/\n--rw-r--r-- 0 root (0) root (0) 539 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_DEPTH.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 393 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_DEVICE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 688 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_EVENT_TYPE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 689 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_PAN_NONE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 449 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 607 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER_EVENT.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1084 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_STREAM.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 383 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_BITMAP.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 591 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_BITMAP_WRAP.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 390 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_BPM_TO_SECS.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 382 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_BPS_TO_SECS.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 421 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_CHANNEL_CONF.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 451 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_COLOR.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 380 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_COND.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 372 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_CONFIG.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 443 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_CONFIG_ENTRY.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_CONFIG_SECTION.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 388 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_DISPLAY.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 590 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_DISPLAY_MODE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 4718 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_EVENT.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 503 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_EVENT_QUEUE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 536 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_EVENT_SOURCE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 435 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_EVENT_TYPE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 445 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_EVENT_TYPE_IS_USER.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 408 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FILE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 388 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FILECHOOSER.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 908 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FILE_INTERFACE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 451 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FILE_MODE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 537 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FONT.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 555 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FOR_EACH_FS_ENTRY_RESULT.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 456 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FS_ENTRY.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 645 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FS_INTERFACE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 816 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_GET_EVENT_TYPE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 916 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_GLYPH.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 560 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 949 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_CONSTANTS.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 3265 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 588 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT_ID.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 503 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_INDEX_BUFFER.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 472 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_JOYFLAGS.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 419 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_JOYSTICK.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 548 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_JOYSTICK_STATE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 586 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_KEYBOARD_STATE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 561 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_LINE_CAP.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 535 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_LINE_JOIN.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 929 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_LOCKED_REGION.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 511 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MEMORY_INTERFACE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 425 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MENU.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 840 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MENU_INFO.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 635 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MIXER.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MIXER_QUALITY.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 592 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MONITOR_INFO.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 576 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MOUSE_EMULATION_MODE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 591 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MOUSE_STATE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 381 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MSECS_TO_SECS.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 374 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MUTEX.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 431 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PI.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 2284 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PIXEL_FORMAT.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 599 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PLAYMODE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1265 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PRIM_ATTR.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 700 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PRIM_BUFFER_FLAGS.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 495 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PRIM_QUALITY.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1032 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PRIM_STORAGE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 616 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PRIM_TYPE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 473 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_RENDER_FUNCTION.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 990 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_RENDER_STATE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 542 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 482 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE_ID.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 735 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE_INSTANCE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 432 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SEEK.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 585 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SHADER.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 650 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SHADER_PLATFORM.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 839 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SHADER_TYPE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 816 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_STATE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 407 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_STATE_FLAGS.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 524 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SYSTEM_ID.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 389 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TEXTLOG.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 376 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_THREAD.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 536 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_DEPTH.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 388 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_DEVICE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 685 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_EVENT_TYPE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 684 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_PAN_NONE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 602 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER_EVENT.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1079 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_AUDIO_STREAM.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 378 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_BITMAP.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 588 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_BITMAP_WRAP.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 382 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_BPM_TO_SECS.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 377 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_BPS_TO_SECS.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 418 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_CHANNEL_CONF.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 446 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_COLOR.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 377 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_COND.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 367 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_CONFIG.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_CONFIG_ENTRY.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_CONFIG_SECTION.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 384 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_DISPLAY.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 587 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_DISPLAY_MODE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 4715 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_EVENT.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 498 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_EVENT_QUEUE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 531 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_EVENT_SOURCE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 430 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_EVENT_TYPE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_EVENT_TYPE_IS_USER.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 405 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FILE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 384 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FILECHOOSER.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 906 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FILE_INTERFACE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 448 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FILE_MODE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 534 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FONT.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 551 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FOR_EACH_FS_ENTRY_RESULT.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 452 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FS_ENTRY.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 642 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_FS_INTERFACE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 812 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_GET_EVENT_TYPE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 912 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_GLYPH.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 555 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 946 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_CONSTANTS.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 3262 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 584 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT_ID.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 499 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_INDEX_BUFFER.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 469 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_JOYFLAGS.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 414 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_JOYSTICK.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 543 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_JOYSTICK_STATE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 580 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_KEYBOARD_STATE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 558 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_LINE_CAP.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 532 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_LINE_JOIN.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 924 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_LOCKED_REGION.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 506 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MEMORY_INTERFACE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 420 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MENU.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 835 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MENU_INFO.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 630 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MIXER.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 432 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MIXER_QUALITY.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 589 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MONITOR_INFO.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 574 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MOUSE_EMULATION_MODE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 586 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MOUSE_STATE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 376 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MSECS_TO_SECS.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 370 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_MUTEX.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 427 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PI.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 2282 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PIXEL_FORMAT.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 597 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PLAYMODE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1261 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PRIM_ATTR.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 698 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PRIM_BUFFER_FLAGS.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 492 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PRIM_QUALITY.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1029 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PRIM_STORAGE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 613 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_PRIM_TYPE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 471 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_RENDER_FUNCTION.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 986 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_RENDER_STATE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 538 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 477 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE_ID.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 730 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SAMPLE_INSTANCE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 429 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SEEK.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 581 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SHADER.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 646 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SHADER_PLATFORM.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 835 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SHADER_TYPE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 811 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_STATE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 404 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_STATE_FLAGS.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 523 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_SYSTEM_ID.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 385 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TEXTLOG.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 370 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_THREAD.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TIMEOUT.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 385 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TIMER.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 412 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 414 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 481 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_STATE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 596 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_STATE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 493 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TRANSFORM.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 381 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_USECS_TO_SECS.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 805 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_USER_EVENT.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 446 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_USTR.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 452 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_USTR_INFO.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 712 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VERTEX.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 495 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_BUFFER.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 543 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_CACHE_SIZE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 513 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_DECL.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1017 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_ELEMENT.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 658 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VIDEO_EVENT_TYPE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 692 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VIDEO_POSITION_TYPE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 524 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VOICE.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 520 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_WRITE_MASK_FLAGS.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 380 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TIMER.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 407 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 409 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 475 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_STATE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 591 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TOUCH_STATE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 489 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_TRANSFORM.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 375 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_USECS_TO_SECS.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 799 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_USER_EVENT.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_USTR.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 447 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_USTR_INFO.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 706 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VERTEX.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 489 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_BUFFER.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 538 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_CACHE_SIZE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 509 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_DECL.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1012 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VERTEX_ELEMENT.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 655 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VIDEO_EVENT_TYPE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 685 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VIDEO_POSITION_TYPE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 518 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_VOICE.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 516 2022-12-06 16:59:12.000000 ./usr/share/man/man3/ALLEGRO_WRITE_MASK_FLAGS.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 612 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_acknowledge_drawing_halt.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_acknowledge_drawing_resume.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 684 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_acknowledge_resize.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 550 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_add_config_comment.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_add_config_section.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 427 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_add_new_bitmap_flag.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 504 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_add_timer_count.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 506 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_android_get_activity.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 753 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_android_get_jni_env.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_android_get_os_version.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 523 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_android_set_apk_file_interface.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 628 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_android_set_apk_fs_interface.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 504 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_append_menu_item.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 586 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_append_native_text_log.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 498 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_append_menu_item.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 581 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_append_native_text_log.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 405 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_append_path_component.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 759 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_apply_window_constraints.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 481 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_audio_stream_to_mixer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 689 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_audio_stream_to_voice.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 575 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_mixer_to_mixer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 500 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_mixer_to_voice.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 490 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_sample_instance_to_mixer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 670 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_sample_instance_to_voice.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 477 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_audio_stream_to_mixer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 683 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_audio_stream_to_voice.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 570 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_mixer_to_mixer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 495 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_mixer_to_voice.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 485 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_sample_instance_to_mixer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 664 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_sample_instance_to_voice.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 1877 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_shader_source.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 550 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_attach_shader_source_file.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 735 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_backup_dirty_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 473 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_backup_dirty_bitmaps.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 544 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_broadcast_cond.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 947 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_build_camera_transform.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 567 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_build_menu.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 563 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_build_menu.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 658 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_build_shader.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 696 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_build_transform.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1370 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_calculate_arc.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 790 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_calculate_ribbon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 743 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_calculate_spline.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 471 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_calloc.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1364 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_calculate_arc.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 784 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_calculate_ribbon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 737 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_calculate_spline.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 467 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_calloc.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 485 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_calloc_with_context.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 406 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_change_directory.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 1016 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_check_inverse.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 690 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_clear_depth_buffer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 775 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_clear_keyboard_state.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_clear_to_color.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_clipboard_has_text.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 550 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_clone_bitmap.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 494 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_clone_menu.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 438 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_clone_menu_for_popup.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 491 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_clone_menu.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_clone_menu_for_popup.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 402 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_clone_path.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 473 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_close_directory.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 448 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_close_native_text_log.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 431 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_close_video.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 448 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_cmyk.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_cmyk_to_rgb.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 849 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_distance_ciede2000.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 502 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_hsl.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 539 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_hsl_to_rgb.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 498 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_hsv.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 533 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_hsv_to_rgb.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 570 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_html.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 629 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_html_to_rgb.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 706 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_lab.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 446 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_lab_to_rgb.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 664 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_lch.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_lch_to_rgb.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 894 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_linear.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 463 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_linear_to_rgb.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_name.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1344 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_name_to_rgb.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 620 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_oklab.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_oklab_to_rgb.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 561 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_cmyk.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 489 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_hsl.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 486 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_hsv.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 645 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_html.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_lab.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 442 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_lch.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 462 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_linear.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 458 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_name.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_oklab.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_xyy.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 442 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_xyz.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 430 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_yuv.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 529 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_xyy.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 442 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_xyy_to_rgb.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 665 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_xyz.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_xyz_to_rgb.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 422 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_yuv.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 432 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_yuv_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_close_native_text_log.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 427 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_close_video.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_cmyk.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_cmyk_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 843 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_distance_ciede2000.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 498 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_hsl.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 535 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_hsl_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 494 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_hsv.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 527 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_hsv_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 565 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_html.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 623 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_html_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 702 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_lab.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_lab_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 661 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_lch.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_lch_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 890 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_linear.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 459 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_linear_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 435 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_name.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1338 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_name_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 615 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_oklab.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_oklab_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 554 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_cmyk.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 484 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_hsl.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 481 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_hsv.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 641 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_html.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_lab.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 437 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_lch.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 458 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_linear.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 454 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_name.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_oklab.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_xyy.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 437 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_xyz.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 425 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_rgb_to_yuv.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 525 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_xyy.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 437 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_xyy_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 660 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_xyz.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_xyz_to_rgb.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 417 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_yuv.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 428 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_color_yuv_to_rgb.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 599 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_compose_transform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 601 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_convert_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 474 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_convert_mask_to_alpha.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 679 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_convert_memory_bitmaps.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_copy_transform.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1156 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_audio_recorder.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1390 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_audio_stream.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1148 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_audio_recorder.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1384 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_audio_stream.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 1730 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_bitmap.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 724 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_builtin_font.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 719 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_builtin_font.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 403 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_cond.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 413 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_config.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 698 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_display.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 476 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_event_queue.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 556 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_file_handle.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 443 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_fs_entry.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 912 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_index_buffer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 455 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_menu.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 711 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_mixer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 906 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_index_buffer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 451 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_menu.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 705 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_mixer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 534 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_mouse_cursor.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 474 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_mutex.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 598 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_mutex_recursive.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1236 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_native_file_dialog.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1229 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_native_file_dialog.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 533 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_path.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 475 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_path_for_directory.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 509 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_popup_menu.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 922 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_sample.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 532 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_sample_instance.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 504 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_popup_menu.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 914 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_sample.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 526 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_sample_instance.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 758 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_shader.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 839 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_sub_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 520 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_thread.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 628 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_thread_with_stacksize.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 586 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_timer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 913 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_vertex_buffer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 548 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_vertex_decl.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 837 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_voice.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 907 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_vertex_buffer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 543 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_vertex_decl.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 831 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_create_voice.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 791 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_cstr.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 523 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_cstr_dup.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 561 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_audio_recorder.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 501 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_audio_stream.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 556 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_audio_recorder.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 497 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_audio_stream.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 583 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 445 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_cond.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_config.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 550 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_display.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 464 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_event_queue.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 423 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_font.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 418 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_font.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 455 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_fs_entry.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 449 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_index_buffer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 496 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_menu.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 391 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_mixer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_index_buffer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 492 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_menu.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 387 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_mixer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 437 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_mouse_cursor.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 450 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_mutex.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 406 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_native_file_dialog.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 398 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_native_file_dialog.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 421 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_path.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 536 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_sample.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 476 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_sample_instance.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 531 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_sample.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 469 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_sample_instance.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 588 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_shader.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 470 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_thread.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 488 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_timer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 461 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_user_event_source.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 451 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_vertex_buffer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 463 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_vertex_decl.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 437 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_voice.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 455 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_detach_audio_stream.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 424 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_detach_mixer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 484 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_detach_sample_instance.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_detach_voice.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 460 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_disable_menu_event_source.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1049 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_do_multiline_text.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 505 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_do_multiline_ustr.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 493 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_drain_audio_stream.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 623 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_arc.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 446 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_vertex_buffer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 459 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_vertex_decl.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 433 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_destroy_voice.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 451 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_detach_audio_stream.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 417 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_detach_mixer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 479 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_detach_sample_instance.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_detach_voice.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 455 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_disable_menu_event_source.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1042 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_do_multiline_text.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 500 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_do_multiline_ustr.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 489 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_drain_audio_stream.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 617 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_arc.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 856 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 587 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_bitmap_region.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 528 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_circle.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 533 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_ellipse.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 648 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_elliptical_arc.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 478 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_circle.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 485 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_ellipse.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 606 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_pieslice.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 639 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_polygon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1076 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_polygon_with_holes.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 503 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_rectangle.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 530 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_rounded_rectangle.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 487 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_triangle.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 767 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_glyph.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 856 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_indexed_buffer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 757 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_indexed_prim.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 701 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_justified_text.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 516 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_justified_textf.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 504 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_justified_ustr.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 528 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_line.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1363 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_multiline_text.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 538 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_multiline_textf.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 525 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_multiline_ustr.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 652 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_pieslice.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 522 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_circle.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 526 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_ellipse.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 643 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_elliptical_arc.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 473 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_circle.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 480 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_ellipse.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 600 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_pieslice.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 633 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_polygon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1070 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_polygon_with_holes.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 496 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_rectangle.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 524 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_rounded_rectangle.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 481 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_filled_triangle.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 762 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_glyph.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 848 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_indexed_buffer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 751 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_indexed_prim.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 696 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_justified_text.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 509 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_justified_textf.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 499 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_justified_ustr.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 524 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_line.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1357 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_multiline_text.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 531 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_multiline_textf.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 519 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_multiline_ustr.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 646 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_pieslice.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 743 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_pixel.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 700 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_polygon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 929 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_polyline.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 894 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_prim.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 548 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_rectangle.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 711 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_ribbon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 695 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_polygon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 923 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_polyline.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 888 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_prim.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 543 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_rectangle.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 704 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_ribbon.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 805 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_rotated_bitmap.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 577 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_rounded_rectangle.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 575 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_rounded_rectangle.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 597 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_scaled_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 676 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_scaled_rotated_bitmap.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 945 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_soft_line.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1186 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_soft_triangle.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 542 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_spline.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 829 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_text.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 497 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_textf.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 937 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_soft_line.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1175 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_soft_triangle.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 538 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_spline.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 824 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_text.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 492 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_textf.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 642 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_tinted_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 509 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_tinted_bitmap_region.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 510 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_tinted_rotated_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 515 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_tinted_scaled_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 522 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_tinted_scaled_rotated_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 663 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_tinted_scaled_rotated_bitmap_region.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 542 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_triangle.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 502 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_ustr.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 749 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_vertex_buffer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 536 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_triangle.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 496 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_ustr.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 744 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_draw_vertex_buffer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 466 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_drop_next_event.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 406 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_drop_path_tail.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 1095 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_emit_user_event.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 533 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_enable_menu_event_source.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 526 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_enable_menu_event_source.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 552 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fclearerr.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fclose.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 604 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_feof.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 498 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_ferrmsg.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 473 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_ferror.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fflush.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 593 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fget_ustr.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 419 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fgetc.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 671 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fgets.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 443 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_filename_exists.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 509 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fill_silence.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 530 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_find_menu.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 644 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_find_menu_item.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 503 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fill_silence.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 526 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_find_menu.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 639 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_find_menu_item.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 628 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixacos.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 763 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixadd.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 730 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixasin.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 530 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixatan.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 714 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixatan2.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 508 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixceil.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 558 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixcos.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 822 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixdiv.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1018 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixed.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1014 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixed.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 514 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixfloor.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 450 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixhypot.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 801 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixmul.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 537 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixsin.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 421 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixsqrt.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 769 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixsub.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 591 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fixtan.3alleg5.gz\n@@ -607,135 +607,135 @@\n -rw-r--r-- 0 root (0) root (0) 489 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fputc.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 636 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fputs.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 595 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fread.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 524 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fread16be.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 525 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fread16le.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 523 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fread32be.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 524 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fread32le.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 588 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_free.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 583 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_free.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 475 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_free_with_context.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 476 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fs_entry_exists.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 673 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fseek.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 389 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fsize.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 473 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_ftell.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 644 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_ftofix.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 680 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fungetc.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 527 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fwrite.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 458 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fwrite16be.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 459 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fwrite16le.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 458 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fwrite32be.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 460 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_fwrite32le.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 401 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_acodec_version.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 401 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_audio_version.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 401 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_color_version.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 399 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_font_version.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 401 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_image_version.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 402 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_memfile_version.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 408 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_native_dialog_version.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 402 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_physfs_version.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 404 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_primitives_version.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 399 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_ttf_version.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 398 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_acodec_version.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 397 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_audio_version.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 397 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_color_version.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 395 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_font_version.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 397 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_image_version.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 398 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_memfile_version.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 404 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_native_dialog_version.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 398 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_physfs_version.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 400 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_primitives_version.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 395 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_ttf_version.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 671 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_version.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 411 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_video_version.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 407 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_allegro_video_version.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 393 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_app_name.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_depth_size.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 422 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_device_name.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 418 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_output_device.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 459 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_recorder_event.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 482 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_recorder_event_source.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 446 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_attached.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 431 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_channels.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 415 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_depth.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 470 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_event_source.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 839 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_fragment.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 480 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_fragments.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 408 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_frequency.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 419 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_gain.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 406 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_length.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 511 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_length_secs.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 413 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_pan.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 447 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_played_samples.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 418 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_playing.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_playmode.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 491 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_position_secs.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 426 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_speed.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 492 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_available_audio_stream_fragments.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_depth_size.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 417 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_device_name.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 413 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_output_device.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 453 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_recorder_event.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 477 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_recorder_event_source.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_attached.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 425 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_channels.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 410 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_depth.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 466 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_event_source.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 834 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_fragment.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 474 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_fragments.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 401 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_frequency.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 413 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_gain.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 401 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_length.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 505 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_length_secs.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 409 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_pan.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 442 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_played_samples.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 413 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_playing.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 430 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_playmode.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 486 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_position_secs.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 421 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_audio_stream_speed.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 486 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_available_audio_stream_fragments.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 709 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_backbuffer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 458 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_bitmap_blend_color.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 491 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_bitmap_blender.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 491 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_bitmap_depth.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 399 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_bitmap_flags.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 419 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_bitmap_format.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 380 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_bitmap_height.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 495 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_bitmap_samples.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 380 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_bitmap_width.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 445 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_bitmap_x.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 445 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_bitmap_y.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_blend_color.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_blender.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 442 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_channel_count.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_channel_count.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 651 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_clipboard_text.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 402 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_clipping_rectangle.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 549 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_config_value.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 792 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_cpu_count.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 537 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_current_directory.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_current_display.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 552 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_current_inverse_transform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 468 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_current_projection_transform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 478 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_current_transform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 465 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_d3d_device.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 484 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_d3d_system_texture.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 523 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_d3d_texture_position.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 505 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_d3d_texture_size.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 507 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_d3d_video_texture.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 503 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_default_menu_event_source.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 542 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_default_mixer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 497 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_default_menu_event_source.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 537 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_default_mixer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 631 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_default_shader_source.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 422 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_default_voice.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 417 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_default_voice.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 451 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_display_event_source.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 585 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_display_flags.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 403 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_display_format.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 415 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_display_height.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 460 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_display_menu.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 456 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_display_menu.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 566 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_display_mode.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 407 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_display_option.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 476 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_display_orientation.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 398 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_display_refresh_rate.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 415 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_display_width.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 416 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_errno.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 453 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_event_source_data.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 409 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_fallback_font.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 405 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_fallback_font.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 443 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_file_userdata.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 554 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_first_config_entry.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 605 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_first_config_section.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 416 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_font_ascent.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 416 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_font_descent.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 673 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_font_line_height.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 635 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_font_ranges.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 407 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_font_ascent.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 407 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_font_descent.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 667 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_font_line_height.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 630 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_font_ranges.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 535 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_fs_entry_atime.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_fs_entry_ctime.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 457 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_fs_entry_mode.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_fs_entry_mtime.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 673 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_fs_entry_name.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 442 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_fs_entry_size.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 435 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_fs_interface.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 646 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_glyph.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1356 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_glyph_advance.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1206 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_glyph_dimensions.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 517 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_glyph_width.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 640 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_glyph.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1351 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_glyph_advance.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1200 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_glyph_dimensions.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 511 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_glyph_width.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 840 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_haptic_autocenter.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 570 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_haptic_capabilities.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 594 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_haptic_effect_duration.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 544 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_haptic_from_display.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 652 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_haptic_from_joystick.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 548 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_haptic_from_keyboard.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 542 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_haptic_from_mouse.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 554 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_haptic_from_touch_input.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 705 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_haptic_gain.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 426 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_index_buffer_size.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 417 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_index_buffer_size.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 612 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_joystick.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 521 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_joystick_active.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 472 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_joystick_axis_name.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 479 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_joystick_button_name.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 429 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_joystick_event_source.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 420 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_joystick_name.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 449 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_joystick_num_axes.3alleg5.gz\n@@ -743,38 +743,38 @@\n -rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_joystick_num_sticks.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 429 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_joystick_state.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 464 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_joystick_stick_flags.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 463 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_joystick_stick_name.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 448 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_keyboard_event_source.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 473 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_keyboard_state.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 588 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_max_haptic_effects.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 492 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_menu_item_caption.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 491 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_menu_item_flags.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 537 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_menu_item_icon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 455 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_attached.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 421 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_channels.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 411 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_depth.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 415 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_frequency.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_gain.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 409 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_playing.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 417 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_quality.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 487 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_menu_item_caption.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 486 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_menu_item_flags.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 532 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_menu_item_icon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 450 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_attached.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 416 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_channels.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 406 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_depth.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 410 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_frequency.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_gain.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 405 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_playing.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 411 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mixer_quality.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 415 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_monitor_dpi.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 590 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_monitor_info.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 489 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_monitor_refresh_rate.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 521 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mouse_cursor_position.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 531 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mouse_emulation_mode.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 446 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mouse_event_source.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 406 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mouse_num_axes.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 406 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mouse_num_buttons.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 610 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mouse_state.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 480 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mouse_state_axis.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 413 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_mouse_wheel_precision.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 427 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_native_file_dialog_count.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 479 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_native_file_dialog_path.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 603 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_native_text_log_event_source.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 423 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_native_file_dialog_count.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 475 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_native_file_dialog_path.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 598 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_native_text_log_event_source.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 501 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_new_bitmap_depth.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 390 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_new_bitmap_flags.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 415 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_new_bitmap_format.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 501 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_new_bitmap_samples.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 464 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_new_bitmap_wrap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 477 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_new_display_adapter.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 418 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_new_display_flags.3alleg5.gz\n@@ -782,15 +782,15 @@\n -rw-r--r-- 0 root (0) root (0) 422 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_new_display_refresh_rate.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 442 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_new_file_interface.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 429 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_new_window_position.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 585 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_new_window_title.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 448 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_next_config_entry.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 487 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_next_config_section.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 534 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_next_event.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 425 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_num_audio_output_devices.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 421 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_num_audio_output_devices.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 526 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_num_display_modes.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 497 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_num_joysticks.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 568 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_num_video_adapters.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 898 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_opengl_extension_list.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 658 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_opengl_fbo.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 822 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_opengl_proc_address.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_opengl_program_object.3alleg5.gz\n@@ -811,313 +811,313 @@\n -rw-r--r-- 0 root (0) root (0) 514 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_pixel.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 438 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_pixel_block_height.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 455 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_pixel_block_size.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 438 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_pixel_block_width.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 467 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_pixel_format_bits.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 467 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_pixel_size.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 833 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_ram_size.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 582 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 456 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_channels.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 442 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_data.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 450 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_depth.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 446 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_frequency.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 457 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_attached.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 453 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_channels.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_depth.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 430 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_frequency.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 428 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_gain.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 480 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_length.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 423 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_pan.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 464 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_playing.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 442 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_playmode.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_position.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 435 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_speed.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 451 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_time.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 445 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_length.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 577 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 451 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_channels.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 437 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_data.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 443 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_depth.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_frequency.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 451 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_attached.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 449 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_channels.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_depth.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 425 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_frequency.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 422 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_gain.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 474 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_length.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 413 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_pan.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 460 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_playing.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 437 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_playmode.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 428 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_position.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 430 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_speed.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 448 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_instance_time.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 442 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_sample_length.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 507 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_separate_bitmap_blender.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 462 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_separate_blender.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 532 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_shader_log.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_shader_platform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 1561 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_standard_path.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 844 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_system_config.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 404 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_system_id.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 395 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_target_bitmap.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 661 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_text_dimensions.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 459 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_text_width.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 655 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_text_dimensions.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 454 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_text_width.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 556 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_thread_should_stop.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 455 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_time.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 425 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_timer_count.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 420 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_timer_event_source.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_timer_speed.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 396 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_timer_started.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 464 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_touch_input_event_source.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 575 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_touch_input_mouse_emulation_event_source.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 450 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_touch_input_state.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 477 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_ustr_dimensions.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 426 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_ustr_width.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 423 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_vertex_buffer_size.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 404 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_audio_rate.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 445 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_event_source.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 431 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_fps.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 681 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_frame.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 474 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_position.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 497 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_scaled_height.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 496 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_scaled_width.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 422 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_voice_channels.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 413 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_voice_depth.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 413 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_voice_frequency.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 416 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_voice_playing.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 483 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_voice_position.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 471 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_ustr_dimensions.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 419 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_ustr_width.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 419 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_vertex_buffer_size.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 400 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_audio_rate.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_event_source.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 427 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_fps.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 677 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_frame.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 469 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_position.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 494 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_scaled_height.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 491 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_video_scaled_width.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 418 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_voice_channels.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 406 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_voice_depth.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 404 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_voice_frequency.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 411 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_voice_playing.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 472 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_voice_position.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 399 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_win_window_handle.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 448 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_window_constraints.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 416 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_window_position.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 399 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_get_x_window_id.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1317 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_grab_font_from_bitmap.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1312 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_grab_font_from_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 563 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_grab_mouse.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 451 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_have_d3d_non_pow2_texture_support.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 438 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_have_d3d_non_square_texture_support.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 550 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_have_opengl_extension.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 502 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_hide_mouse_cursor.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 883 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_hold_bitmap_drawing.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 481 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_horizontal_shear_transform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 532 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_identify_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 676 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_identify_bitmap_f.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 541 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_identify_sample.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 677 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_identify_sample_f.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 518 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_identify_video.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 615 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_identify_video_f.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 537 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_identify_sample.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 671 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_identify_sample_f.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 515 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_identify_video.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 611 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_identify_video_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 511 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_identity_transform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 478 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_inhibit_screensaver.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 636 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 802 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_acodec_addon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 647 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_font_addon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 746 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_image_addon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 606 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_native_dialog_addon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 428 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_primitives_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 631 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 799 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_acodec_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 644 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_font_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 742 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_image_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 603 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_native_dialog_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 424 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_primitives_addon.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 502 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_timeout.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 447 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_ttf_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 442 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_ttf_addon.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 901 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_user_event_source.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 376 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_video_addon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 921 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_insert_menu_item.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 372 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_init_video_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 915 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_insert_menu_item.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 542 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_insert_path_component.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 484 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_install_audio.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 481 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_install_audio.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 782 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_install_haptic.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 424 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_install_joystick.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 443 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_install_keyboard.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 414 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_install_mouse.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 854 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_install_system.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_install_touch_input.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 592 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_invert_transform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 411 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_iphone_get_view.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 407 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_iphone_get_window.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 489 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_iphone_set_statusbar_orientation.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 403 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_acodec_addon_initialized.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 401 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_audio_installed.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 475 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_audio_recorder_recording.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 399 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_acodec_addon_initialized.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 395 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_audio_installed.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 470 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_audio_recorder_recording.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 409 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_bitmap_drawing_held.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 421 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_bitmap_locked.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 482 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_color_valid.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 705 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_compatible_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 492 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_d3d_device_lost.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 574 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_display_haptic.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_event_queue_empty.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 423 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_event_queue_paused.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_event_source_registered.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 429 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_font_addon_initialized.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 425 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_font_addon_initialized.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 518 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_haptic_active.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 606 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_haptic_capable.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 571 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_haptic_effect_ok.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 636 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_haptic_effect_playing.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 504 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_haptic_installed.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 399 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_image_addon_initialized.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 395 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_image_addon_initialized.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 520 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_joystick_haptic.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 383 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_joystick_installed.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 520 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_keyboard_haptic.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 383 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_keyboard_installed.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 515 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_mouse_haptic.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 379 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_mouse_installed.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 410 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_native_dialog_addon_initialized.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 437 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_primitives_addon_initialized.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 407 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_native_dialog_addon_initialized.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 432 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_primitives_addon_initialized.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 427 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_sub_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 376 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_system_installed.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 532 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_touch_input_haptic.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 394 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_touch_input_installed.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 430 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_ttf_addon_initialized.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 403 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_video_addon_initialized.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 402 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_video_playing.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 427 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_ttf_addon_initialized.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 395 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_video_addon_initialized.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 400 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_is_video_playing.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 660 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_itofix.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 607 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_join_paths.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 534 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_join_thread.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 428 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_key_down.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 380 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_keycode_to_name.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 786 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_audio_stream.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 910 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_audio_stream_f.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 780 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_audio_stream.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 903 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_audio_stream_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 668 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 734 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_bitmap_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 1881 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_bitmap_flags.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 721 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_bitmap_flags_f.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 558 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_bitmap_font.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 517 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_bitmap_font_flags.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 554 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_bitmap_font.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 511 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_bitmap_font_flags.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 467 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_config_file.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 479 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_config_file_f.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 609 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_font.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 653 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_sample.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 746 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_sample_f.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 942 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_ttf_font.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 567 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_ttf_font_f.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 673 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_ttf_font_stretch.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 605 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_ttf_font_stretch_f.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 604 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_font.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 648 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_sample.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 741 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_sample_f.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 936 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_ttf_font.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 562 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_ttf_font_f.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 667 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_ttf_font_stretch.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 598 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_load_ttf_font_stretch_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 1304 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_lock_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 684 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_lock_bitmap_blocked.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 769 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_lock_bitmap_region.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 517 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_lock_bitmap_region_blocked.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 652 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_lock_index_buffer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 646 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_lock_index_buffer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 625 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_lock_mutex.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 719 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_lock_sample_id.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 652 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_lock_vertex_buffer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 714 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_lock_sample_id.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 647 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_lock_vertex_buffer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 505 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_make_directory.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 568 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_make_path_canonical.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 647 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_make_temp_file.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 491 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_malloc.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 487 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_malloc.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 479 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_malloc_with_context.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 468 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_map_rgb.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 462 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_map_rgb_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 470 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_map_rgba.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 462 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_map_rgba_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 501 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_merge_config.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 474 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_merge_config_into.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 485 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_mouse_button_down.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 472 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_open_directory.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 552 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_open_fs_entry.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 696 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_open_memfile.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 719 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_open_native_text_log.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 454 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_open_video.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 690 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_open_memfile.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 713 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_open_native_text_log.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 450 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_open_video.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 963 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_orthographic_transform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 416 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_osx_get_window.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 611 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_path_cstr.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 620 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_path_ustr.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 611 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_pause_event_queue.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 540 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_peek_next_event.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 1403 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_perspective_transform.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 666 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_play_audio_stream.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 771 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_play_audio_stream_f.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 662 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_play_audio_stream.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 765 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_play_audio_stream_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 729 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_play_haptic_effect.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 832 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_play_sample.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 435 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_play_sample_instance.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 813 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_popup_menu.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 827 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_play_sample.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 430 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_play_sample_instance.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 808 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_popup_menu.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 750 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_premul_rgba.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 735 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_premul_rgba_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_put_blended_pixel.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 539 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_put_pixel.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 497 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_radtofix_r.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 592 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_read_directory.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 471 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_realloc.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 467 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_realloc.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 486 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_realloc_with_context.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 576 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_rebase_path.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 907 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_reconfigure_joysticks.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 526 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_ref_buffer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 658 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_ref_cstr.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 739 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_ref_ustr.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 509 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_assert_handler.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 678 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_audio_stream_loader.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 682 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_audio_stream_loader_f.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 671 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_audio_stream_loader.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 676 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_audio_stream_loader_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 816 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_bitmap_identifier.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 633 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_bitmap_loader.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 629 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_bitmap_loader_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 633 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_bitmap_saver.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 629 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_bitmap_saver_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 506 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_event_source.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 622 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_font_loader.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 831 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_sample_identifier.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 636 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_sample_loader.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 629 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_sample_loader_f.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 642 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_sample_saver.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 635 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_sample_saver_f.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 618 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_font_loader.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 824 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_sample_identifier.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 630 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_sample_loader.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 624 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_sample_loader_f.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 636 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_sample_saver.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 630 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_sample_saver_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 577 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_register_trace_handler.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 734 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_release_haptic.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 849 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_release_haptic_effect.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 406 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_release_joystick.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 468 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_remove_config_key.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_remove_config_section.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 520 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_remove_display_menu.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 514 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_remove_display_menu.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 521 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_remove_filename.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 487 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_remove_fs_entry.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 616 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_remove_menu_item.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 611 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_remove_menu_item.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 483 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_remove_opengl_fbo.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 507 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_remove_path_component.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 654 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_reparent_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 518 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_replace_path_component.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 743 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_reserve_samples.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 740 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_reserve_samples.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 479 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_reset_bitmap_blender.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 491 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_reset_clipping_rectangle.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 393 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_reset_new_display_options.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 527 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_resize_display.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 549 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_rest.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 585 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_restore_default_mixer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 581 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_restore_default_mixer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 411 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_restore_state.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 522 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_resume_timer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 484 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_rewind_audio_stream.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 479 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_rewind_audio_stream.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 472 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_rotate_transform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 510 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_rotate_transform_3d.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 926 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_rumble_haptic.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 523 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_run_detached_thread.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 612 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_run_main.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 576 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_save_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 654 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_save_bitmap_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 449 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_save_config_file.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 466 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_save_config_file_f.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 601 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_save_sample.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 643 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_save_sample_f.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 596 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_save_sample.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 638 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_save_sample_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 466 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_scale_transform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 466 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_scale_transform_3d.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 522 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_seek_audio_stream_secs.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_seek_video.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 516 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_seek_audio_stream_secs.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 440 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_seek_video.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 490 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_app_name.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 415 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_channel_matrix.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 497 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_fragment.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 483 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_gain.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 487 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_loop_secs.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 628 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_pan.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 447 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_playing.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 463 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_playmode.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 503 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_speed.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 491 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_fragment.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 478 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_gain.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 481 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_loop_secs.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 623 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_pan.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 441 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_playing.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 459 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_playmode.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 496 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_audio_stream_speed.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 470 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_bitmap_blend_color.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 596 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_bitmap_blender.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 458 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_blend_color.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 1563 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_blender.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 452 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_clipboard_text.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 459 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_clipping_rectangle.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 666 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_config_value.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 645 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_current_opengl_context.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 552 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_d3d_device_release_callback.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 532 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_d3d_device_restore_callback.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 558 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_default_mixer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 504 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_default_voice.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 554 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_default_mixer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 498 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_default_voice.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 625 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_display_flag.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 444 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_display_icon.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 660 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_display_icons.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 766 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_display_menu.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 761 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_display_menu.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 715 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_display_option.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 359 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_errno.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 501 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_event_source_data.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 590 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_exe_name.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 531 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_fallback_font.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 524 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_fallback_font.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 431 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_fs_interface.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 897 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_haptic_autocenter.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 724 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_haptic_gain.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 548 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_keyboard_leds.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 551 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_memory_interface.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 486 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_menu_item_caption.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 478 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_menu_item_flags.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 595 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_menu_item_icon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 479 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mixer_frequency.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 462 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mixer_gain.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mixer_playing.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 596 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mixer_postprocess_callback.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 488 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mixer_quality.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 481 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_menu_item_caption.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 474 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_menu_item_flags.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 591 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_menu_item_icon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 475 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mixer_frequency.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 457 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mixer_gain.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mixer_playing.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 589 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mixer_postprocess_callback.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 484 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mixer_quality.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 478 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mouse_axis.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 530 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mouse_cursor.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 525 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mouse_emulation_mode.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 419 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mouse_w.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 876 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mouse_wheel_precision.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 515 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mouse_xy.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 416 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_mouse_z.3alleg5.gz\n@@ -1133,25 +1133,25 @@\n -rw-r--r-- 0 root (0) root (0) 473 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_new_file_interface.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 530 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_new_window_position.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 530 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_new_window_title.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 497 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_org_name.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 446 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_path_drive.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 578 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_path_extension.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 470 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_path_filename.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 801 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_physfs_file_interface.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 797 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_physfs_file_interface.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 502 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_render_state.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 731 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 886 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_channel_matrix.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 487 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_gain.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 552 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_length.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 683 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_pan.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 495 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_playing.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 474 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_playmode.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 467 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_position.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 508 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_speed.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 725 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 879 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_channel_matrix.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 482 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_gain.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 546 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_length.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 678 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_pan.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 492 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_playing.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 468 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_playmode.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 462 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_position.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 502 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_sample_instance_speed.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 565 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_separate_bitmap_blender.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 532 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_separate_blender.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 475 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_shader_bool.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 476 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_shader_float.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 460 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_shader_float_vector.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 483 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_shader_int.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 810 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_shader_int_vector.3alleg5.gz\n@@ -1161,64 +1161,64 @@\n -rw-r--r-- 0 root (0) root (0) 421 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_standard_fs_interface.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 728 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_system_mouse_cursor.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 414 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_target_backbuffer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 1591 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_target_bitmap.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 434 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_thread_should_stop.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 490 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_timer_count.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 576 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_timer_speed.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 399 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_video_playing.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 530 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_voice_playing.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 499 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_voice_position.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 398 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_video_playing.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 526 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_voice_playing.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 494 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_voice_position.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 583 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_window_constraints.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 416 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_window_position.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 413 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_set_window_title.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 465 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_show_mouse_cursor.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 569 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_show_native_file_dialog.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 1268 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_show_native_message_box.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 437 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_font_addon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 421 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_image_addon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 410 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_native_dialog_addon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 443 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_primitives_addon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 395 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_ttf_addon.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 433 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_video_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 564 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_show_native_file_dialog.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 1262 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_show_native_message_box.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 433 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_font_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 417 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_image_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 406 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_native_dialog_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_primitives_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 388 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_ttf_addon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 429 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_shutdown_video_addon.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 474 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_signal_cond.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 561 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_start_audio_recorder.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 556 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_start_audio_recorder.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 469 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_start_thread.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 531 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_start_timer.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 407 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_start_video.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 426 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_start_video_with_voice.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 624 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_stop_audio_recorder.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 402 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_start_video.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 422 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_start_video_with_voice.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 619 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_stop_audio_recorder.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 582 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_stop_haptic_effect.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 404 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_stop_sample.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 414 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_stop_sample_instance.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 385 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_stop_samples.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 400 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_stop_sample.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 408 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_stop_sample_instance.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 382 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_stop_samples.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 473 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_stop_timer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 655 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_store_state.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 620 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_toggle_menu_item_flags.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 614 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_toggle_menu_item_flags.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 469 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_transform_coordinates.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 544 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_transform_coordinates_3d.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 903 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_transform_coordinates_3d_projective.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 495 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_transform_coordinates_4d.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 461 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_translate_transform.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 463 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_translate_transform_3d.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 573 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_transpose_transform.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 942 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_triangulate_polygon.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 934 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_triangulate_polygon.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_ungrab_mouse.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 379 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_uninstall_audio.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 374 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_uninstall_audio.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 609 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_uninstall_haptic.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 482 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_uninstall_joystick.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 457 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_uninstall_keyboard.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 436 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_uninstall_mouse.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 425 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_uninstall_system.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 448 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_uninstall_touch_input.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 492 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unlock_bitmap.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 437 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unlock_index_buffer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 432 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unlock_index_buffer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 467 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unlock_mutex.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 590 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unlock_sample_id.3alleg5.gz\n--rw-r--r-- 0 root (0) root (0) 439 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unlock_vertex_buffer.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 584 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unlock_sample_id.3alleg5.gz\n+-rw-r--r-- 0 root (0) root (0) 433 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unlock_vertex_buffer.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 487 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unmap_rgb.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 481 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unmap_rgb_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 481 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unmap_rgba.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 477 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unmap_rgba_f.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 512 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unref_user_event.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 516 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_unregister_event_source.3alleg5.gz\n -rw-r--r-- 0 root (0) root (0) 585 2022-12-06 16:59:12.000000 ./usr/share/man/man3/al_update_display_region.3alleg5.gz\n"}, {"source1": "./usr/share/doc/allegro5-doc/refman/acodec.html", "source2": "./usr/share/doc/allegro5-doc/refman/acodec.html", "unified_diff": "@@ -171,16 +171,15 @@\n href=\"#al_get_allegro_acodec_version\">al_get_allegro_acodec_version\n \n \n

These functions are declared in the following header file. Link with\n allegro_acodec.

\n
 #include <allegro5/allegro_acodec.h>
\n

al_init_acodec_addon

\n-
bool al_init_acodec_addon(void)\n-bool al_init_acodec_addon(void)
\n+
bool al_init_acodec_addon(void)
\n

Source\n Code

\n

This function registers all the known audio file type handlers for al_load_sample, al_save_sample, al_load_audio_stream,\n@@ -211,31 +210,29 @@\n

  • ex_acodec_multi.c
  • \n
  • ex_kcm_direct.c
  • \n \n al_is_acodec_addon_initialized\n-
    bool al_is_acodec_addon_initialized(void)\n-bool al_is_acodec_addon_initialized(void)
    \n+
    bool al_is_acodec_addon_initialized(void)
    \n

    Source\n Code

    \n

    Returns true if the acodec addon is initialized, otherwise returns\n false.

    \n

    Since: 5.2.6

    \n al_get_allegro_acodec_version\n-
    uint32_t al_get_allegro_acodec_version(void)\n-uint32_t al_get_allegro_acodec_version(void)
    \n+
    uint32_t al_get_allegro_acodec_version(void)
    \n

    Source\n Code

    \n

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:58 UTC\n+ - Last updated: 2024-01-07 09:01:15 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -51,15 +51,14 @@\n * al_is_acodec_addon_initialized\n * al_get_allegro_acodec_version\n These functions are declared in the following header file. Link with\n allegro_acodec.\n #include \n ****** al_init_acodec_addon ******\n bool al_init_acodec_addon(void)\n-bool al_init_acodec_addon(void)\n Source_Code\n This function registers all the known audio file type handlers for\n al_load_sample, al_save_sample, al_load_audio_stream, etc.\n Depending on what libraries are available, the full set of recognised\n extensions is: .wav, .flac, .ogg, .opus, .it, .mod, .s3m, .xm, .voc.\n Limitations:\n * Saving is only supported for wav files.\n@@ -75,18 +74,16 @@\n Return true on success.\n Examples:\n * ex_stream_file.c\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n ****** al_is_acodec_addon_initialized ******\n bool al_is_acodec_addon_initialized(void)\n-bool al_is_acodec_addon_initialized(void)\n Source_Code\n Returns true if the acodec addon is initialized, otherwise returns false.\n Since: 5.2.6\n ****** al_get_allegro_acodec_version ******\n uint32_t al_get_allegro_acodec_version(void)\n-uint32_t al_get_allegro_acodec_version(void)\n Source_Code\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version.\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:58 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:15 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/audio.html", "source2": "./usr/share/doc/allegro5-doc/refman/audio.html", "unified_diff": "@@ -453,16 +453,15 @@\n

    If you want to play large audio files (e.g.\u00a0background music) without\n loading the whole file at once you can use al_play_audio_stream (after\n calling al_reserve_samples).\n This will load and play an ALLEGRO_AUDIO_STREAM. Note that\n the basic API only supports on such audio stream playing at once.

    \n

    ALLEGRO_SAMPLE_ID

    \n-
    typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID;\n-typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID;
    \n+
    typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID;
    \n

    Source\n Code

    \n

    An ALLEGRO_SAMPLE_ID represents a sample being played via al_play_sample. It can be used to\n later sALLEGRO_BITMAP_WRAPtop the sample with al_stop_sample. The underlying\n@@ -470,16 +469,15 @@\n href=\"audio.html#al_lock_sample_id\">al_lock_sample_id.

    \n

    Examples:

    \n
      \n
    • ex_audio_simple.c
    • \n
    \n

    al_install_audio

    \n-
    bool al_install_audio(void)\n-bool al_install_audio(void)
    \n+
    bool al_install_audio(void)
    \n

    Source\n Code

    \n

    Install the audio subsystem.

    \n

    Returns true on success, false on failure.

    \n
    \n

    Note: most users will call ex_audio_devices.c\n

  • ex_saw.c
  • \n
  • ex_stream_file.c
  • \n \n

    al_uninstall_audio

    \n-
    void al_uninstall_audio(void)\n-void al_uninstall_audio(void)
    \n+
    void al_uninstall_audio(void)
    \n

    Source\n Code

    \n

    Uninstalls the audio subsystem.

    \n

    See also: al_install_audio

    \n

    Examples:

    \n@@ -516,25 +513,23 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_saw.c#L116\">ex_saw.c\n
  • ex_stream_file.c
  • \n
  • ex_acodec_multi.c
  • \n \n

    al_is_audio_installed

    \n-
    bool al_is_audio_installed(void)\n-bool al_is_audio_installed(void)
    \n+
    bool al_is_audio_installed(void)
    \n

    Source\n Code

    \n

    Returns true if al_install_audio was called\n previously and returned successfully.

    \n

    al_reserve_samples

    \n-
    bool al_reserve_samples(int reserve_samples)\n-bool al_reserve_samples(int reserve_samples)
    \n+
    bool al_reserve_samples(int reserve_samples)
    \n

    Source\n Code

    \n

    Reserves a number of sample instances, attaching them to the default\n mixer. If no default mixer is set when this function is called, then it\n will create one and attach it to the default voice. If no default voice\n has been set, it, too, will be created.

    \n@@ -562,17 +557,15 @@\n
  • ex_audio_props.cpp
  • \n
  • ex_resample_test.c
  • \n \n

    al_play_sample

    \n
    bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed,\n-   ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id)\n-bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed,\n-   ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id)
    \n+ ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id)\n

    Source\n Code

    \n

    Plays a sample on one of the sample instances created by al_reserve_samples. Returns\n true on success, false on failure. Playback may fail because all the\n reserved sample instances are currently used.

    \n@@ -605,16 +598,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_acodec_multi.c#L107\">ex_acodec_multi.c\n
  • ex_kcm_direct.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_stop_sample

    \n-
    void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id)\n-void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id)
    \n+
    void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id)
    \n

    Source\n Code

    \n

    Stop the sample started by al_play_sample.

    \n

    See also: al_stop_samples

    \n@@ -624,30 +616,28 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_acodec_multi.c#L123\">ex_acodec_multi.c\n
  • ex_kcm_direct.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_stop_samples

    \n-
    void al_stop_samples(void)\n-void al_stop_samples(void)
    \n+
    void al_stop_samples(void)
    \n

    Source\n Code

    \n

    Stop all samples started by al_play_sample.

    \n

    See also: al_stop_sample

    \n

    Examples:

    \n
      \n
    • ex_audio_simple.c
    • \n
    \n

    al_lock_sample_id

    \n-
    ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)\n-ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)
    \n+
    ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)
    \n

    Source\n Code

    \n

    Locks a ALLEGRO_SAMPLE_ID,\n returning the underlying ALLEGRO_SAMPLE_INSTANCE.\n This allows you to adjust the various properties of the instance (such\n@@ -669,16 +659,15 @@\n

    \n

    Examples:

    \n
      \n
    • ex_audio_simple.c
    • \n
    \n

    al_unlock_sample_id

    \n-
    void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)\n-void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)
    \n+
    void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)
    \n

    Source\n Code

    \n

    Unlocks a ALLEGRO_SAMPLE_ID, allowing\n future calls to al_play_sample\n to reuse it if possible. Note that after the id is unlocked, the \n

    Examples:

    \n
      \n
    • ex_audio_simple.c
    • \n
    \n

    al_play_audio_stream

    \n-
    ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename)\n-ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename)
    \n+
    ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename)
    \n

    Source\n Code

    \n

    Loads and plays an audio file from disk as it is needed. This API can\n only play one audio stream at a time.

    \n

    Returns the stream on success, NULL on failure. You must not destroy\n the returned stream, it will be automatically destroyed when the addon\n@@ -725,16 +713,15 @@\n \n

    Examples:

    \n
      \n
    • ex_audio_simple.c
    • \n
    \n

    al_play_audio_stream_f

    \n-
    ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char *ident)\n-ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char *ident)
    \n+
    ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char *ident)
    \n

    Source\n Code

    \n

    Loads and plays an audio file from ALLEGRO_FILE stream as it is\n needed.

    \n

    The file type is determined by the passed \u2018ident\u2019 parameter, which is\n@@ -755,16 +742,15 @@\n

    Since: 5.2.8

    \n
    \n

    Unstable\n API: New API.

    \n
    \n

    Samples

    \n

    ALLEGRO_SAMPLE

    \n-
    typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE;\n-typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE;
    \n+
    typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE;
    \n

    Source\n Code

    \n

    An ALLEGRO_SAMPLE object stores the data necessary for playing\n pre-defined digital audio. It holds a user-specified PCM data buffer and\n information about its format (data length, depth, frequency, channel\n configuration). You can have the same ALLEGRO_SAMPLE playing multiple\n@@ -779,18 +765,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_acodec_multi.c#L21\">ex_acodec_multi.c\n

  • ex_kcm_direct.c
  • \n \n

    al_create_sample

    \n
    ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,\n    unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n-   ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)\n-ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,\n-   unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n-   ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)
    \n+ ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)\n

    Source\n Code

    \n

    Create a sample data structure from the supplied buffer. If\n free_buf is true then the buffer will be freed with al_free when the sample data structure is\n destroyed. For portability (especially Windows), the buffer should have\n@@ -820,16 +803,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_acodec_multi.c#L83\">ex_acodec_multi.c\n

  • ex_kcm_direct.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_load_sample

    \n-
    ALLEGRO_SAMPLE *al_load_sample(const char *filename)\n-ALLEGRO_SAMPLE *al_load_sample(const char *filename)
    \n+
    ALLEGRO_SAMPLE *al_load_sample(const char *filename)
    \n

    Source\n Code

    \n

    Loads a few different audio file formats based on their\n extension.

    \n

    Note that this stores the entire file in memory at once, which may be\n time consuming. To read the file as it is needed, use ex_acodec_multi.c\n

  • ex_kcm_direct.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_load_sample_f

    \n-
    ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident)\n-ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident)
    \n+
    ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident)
    \n

    Source\n Code

    \n

    Loads an audio file from an ALLEGRO_FILE stream into an ALLEGRO_SAMPLE. The file type is\n determined by the passed \u2018ident\u2019 parameter, which is a file name\n@@ -876,16 +857,15 @@\n file formats by default. You must use the allegro_acodec addon, or\n register your own format handler.

    \n \n

    See also: al_register_sample_loader_f,\n al_init_acodec_addon

    \n

    al_save_sample

    \n-
    bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl)\n-bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl)
    \n+
    bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl)
    \n

    Source\n Code

    \n

    Writes a sample into a file. Currently, wav is the only supported\n format, and the extension must be \u201c.wav\u201d.

    \n

    Returns true on success, false on error.

    \n
    \n@@ -894,16 +874,15 @@\n register your own format handler.

    \n
    \n

    See also: al_save_sample_f,\n al_register_sample_saver,\n al_init_acodec_addon

    \n

    al_save_sample_f

    \n-
    bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl)\n-bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl)
    \n+
    bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl)
    \n

    Source\n Code

    \n

    Writes a sample into a ALLEGRO_FILE filestream. Currently,\n wav is the only supported format, and the extension must be \u201c.wav\u201d.

    \n

    Returns true on success, false on error. The file remains open\n@@ -913,16 +892,15 @@\n file formats by default. You must use the allegro_acodec addon, or\n register your own format handler.

    \n \n

    See also: al_save_sample, al_register_sample_saver_f,\n al_init_acodec_addon

    \n

    al_destroy_sample

    \n-
    void al_destroy_sample(ALLEGRO_SAMPLE *spl)\n-void al_destroy_sample(ALLEGRO_SAMPLE *spl)
    \n+
    void al_destroy_sample(ALLEGRO_SAMPLE *spl)
    \n

    Source\n Code

    \n

    Free the sample data structure. If it was created with the\n free_buf parameter set to true, then the buffer will be\n freed with al_free.

    \n

    This function will stop any sample instances which may be playing the\n@@ -938,66 +916,61 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_acodec_multi.c#L86\">ex_acodec_multi.c\n

  • ex_kcm_direct.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_get_sample_channels

    \n-
    ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl)\n-ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl)
    \n+
    ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl)
    \n

    Source\n Code

    \n

    Return the channel configuration of the sample.

    \n

    See also: ALLEGRO_CHANNEL_CONF, al_get_sample_depth, al_get_sample_frequency,\n al_get_sample_length, al_get_sample_data

    \n

    al_get_sample_depth

    \n-
    ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl)\n-ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl)
    \n+
    ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl)
    \n

    Source\n Code

    \n

    Return the audio depth of the sample.

    \n

    See also: ALLEGRO_AUDIO_DEPTH, al_get_sample_channels, al_get_sample_frequency,\n al_get_sample_length, al_get_sample_data

    \n

    al_get_sample_frequency

    \n-
    unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl)\n-unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl)
    \n+
    unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl)
    \n

    Source\n Code

    \n

    Return the frequency (in Hz) of the sample.

    \n

    See also: al_get_sample_channels, al_get_sample_depth, al_get_sample_length, al_get_sample_data

    \n

    al_get_sample_length

    \n-
    unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl)\n-unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl)
    \n+
    unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl)
    \n

    Source\n Code

    \n

    Return the length of the sample in sample values.

    \n

    See also: al_get_sample_channels, al_get_sample_depth, al_get_sample_frequency,\n al_get_sample_data

    \n

    al_get_sample_data

    \n-
    void *al_get_sample_data(const ALLEGRO_SAMPLE *spl)\n-void *al_get_sample_data(const ALLEGRO_SAMPLE *spl)
    \n+
    void *al_get_sample_data(const ALLEGRO_SAMPLE *spl)
    \n

    Source\n Code

    \n

    Return a pointer to the raw sample data.

    \n

    See also: al_get_sample_channels, al_get_sample_depth, al_set_default_mixer.

    \n

    Sample instances

    \n

    ALLEGRO_SAMPLE_INSTANCE

    \n-
    typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE;\n-typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE;
    \n+
    typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE;
    \n

    Source\n Code

    \n

    An ALLEGRO_SAMPLE_INSTANCE object represents a playable instance of a\n predefined sound effect. It holds information about how the effect\n should be played: These playback parameters consist of the looping mode,\n loop start/end points, playing position, speed, gain, pan and the\n@@ -1125,16 +1097,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_acodec_multi.c#L22\">ex_acodec_multi.c\n

  • ex_kcm_direct.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_create_sample_instance

    \n-
    ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data)\n-ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data)
    \n+
    ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data)
    \n

    Source\n Code

    \n

    Creates a sample instance, using the supplied sample data. The\n instance must be attached to a mixer (or voice) in order to actually\n produce output.

    \n

    The argument may be NULL. You can then set the sample data later with\n@@ -1147,16 +1118,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_acodec_multi.c#L83\">ex_acodec_multi.c\n

  • ex_kcm_direct.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_destroy_sample_instance

    \n-
    void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Detaches the sample instance from anything it may be attached to and\n frees it (the sample data, i.e.\u00a0its ALLEGRO_SAMPLE, is not\n freed!).

    \n

    See also: ex_acodec_multi.c\n

  • ex_kcm_direct.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_play_sample_instance

    \n-
    bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Play the sample instance. Returns true on success, false on\n failure.

    \n

    See also: al_stop_sample_instance

    \n@@ -1186,16 +1155,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_acodec_multi.c#L107\">ex_acodec_multi.c\n
  • ex_kcm_direct.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_stop_sample_instance

    \n-
    bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Stop an sample instance playing.

    \n

    See also: al_play_sample_instance

    \n

    Examples:

    \n@@ -1206,17 +1174,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_kcm_direct.c#L88\">ex_kcm_direct.c\n
  • ex_mixer_chain.c
  • \n \n al_get_sample_instance_channels\n
    ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels(\n-   const ALLEGRO_SAMPLE_INSTANCE *spl)\n-ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels(\n-   const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+ const ALLEGRO_SAMPLE_INSTANCE *spl)\n

    Source\n Code

    \n

    Return the channel configuration of the sample instance\u2019s sample\n data.

    \n

    See also: ALLEGRO_CHANNEL_CONF.

    \n@@ -1224,45 +1190,42 @@\n
      \n
    • ex_kcm_direct.c
    • \n
    • ex_acodec.c
    • \n
    \n

    al_get_sample_instance_depth

    \n-
    ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Return the audio depth of the sample instance\u2019s sample data.

    \n

    See also: ALLEGRO_AUDIO_DEPTH.

    \n

    Examples:

    \n
      \n
    • ex_kcm_direct.c
    • \n
    \n al_get_sample_instance_frequency\n-
    unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Return the frequency (in Hz) of the sample instance\u2019s sample\n data.

    \n

    Examples:

    \n
      \n
    • ex_kcm_direct.c
    • \n
    \n al_get_sample_instance_length\n-
    unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Return the length of the sample instance in sample values. This\n property may differ from the length of the instance\u2019s sample data.

    \n

    See also: al_set_sample_instance_length,\n@@ -1274,17 +1237,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_audio_props.cpp#L196\">ex_audio_props.cpp\n

  • ex_audio_simple.c
  • \n \n al_set_sample_instance_length\n
    bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl,\n-   unsigned int val)\n-bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl,\n-   unsigned int val)
    \n+ unsigned int val)\n

    Source\n Code

    \n

    Set the length of the sample instance in sample values. This can be\n used to play only parts of the underlying sample. Be careful not to\n exceed the actual length of the sample data, though.

    \n

    Return true on success, false on failure. Will fail if the sample\n@@ -1294,33 +1255,30 @@\n

    Examples:

    \n
      \n
    • ex_audio_props.cpp
    • \n
    \n al_get_sample_instance_position\n-
    unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Get the playback position of a sample instance.

    \n

    See also: al_set_sample_instance_position

    \n

    Examples:

    \n
      \n
    • ex_audio_chain.cpp
    • \n
    \n al_set_sample_instance_position\n
    bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl,\n-   unsigned int val)\n-bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl,\n-   unsigned int val)
    \n+ unsigned int val)\n

    Source\n Code

    \n

    Set the playback position of a sample instance.

    \n

    Returns true on success, false on failure.

    \n

    See also: al_get_sample_instance_position

    \n@@ -1328,25 +1286,23 @@\n
      \n
    • ex_audio_simple.c
    • \n
    • ex_audio_chain.cpp
    • \n
    \n

    al_get_sample_instance_speed

    \n-
    float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Return the relative playback speed of the sample instance.

    \n

    See also: al_set_sample_instance_speed

    \n

    al_set_sample_instance_speed

    \n-
    bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n-bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    \n+
    bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    \n

    Source\n Code

    \n

    Set the relative playback speed of the sample instance. 1.0 means\n normal speed.

    \n

    Return true on success, false on failure. Will fail if the sample\n instance is attached directly to a voice.

    \n@@ -1356,30 +1312,28 @@\n
      \n
    • ex_audio_props.cpp
    • \n
    • ex_audio_simple.c
    • \n
    \n

    al_get_sample_instance_gain

    \n-
    float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Return the playback gain of the sample instance.

    \n

    See also: al_set_sample_instance_gain

    \n

    Examples:

    \n
      \n
    • ex_audio_chain.cpp
    • \n
    \n

    al_set_sample_instance_gain

    \n-
    bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n-bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    \n+
    bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    \n

    Source\n Code

    \n

    Set the playback gain of the sample instance.

    \n

    Returns true on success, false on failure. Will fail if the sample\n instance is attached directly to a voice.

    \n

    See also: ex_mixer_chain.c\n

  • ex_acodec.c
  • \n
  • ex_audio_props.cpp
  • \n \n

    al_get_sample_instance_pan

    \n-
    float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Get the pan value of the sample instance.

    \n

    See also: al_set_sample_instance_pan.

    \n

    al_set_sample_instance_pan

    \n-
    bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n-bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    \n+
    bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val)
    \n

    Source\n Code

    \n

    Set the pan value on a sample instance. A value of -1.0 means to play\n the sample only through the left speaker; +1.0 means only through the\n right speaker; 0.0 means the sample is centre balanced. A special value\n ALLEGRO_AUDIO_PAN_NONE\n@@ -1428,16 +1380,15 @@\n

      \n
    • ex_audio_props.cpp
    • \n
    • ex_audio_simple.c
    • \n
    \n

    al_get_sample_instance_time

    \n-
    float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Return the length of the sample instance in seconds, assuming a\n playback speed of 1.0.

    \n

    See also: al_get_sample_instance_length

    \n@@ -1448,29 +1399,26 @@\n
  • ex_kcm_direct.c
  • \n
  • ex_mixer_chain.c
  • \n \n al_get_sample_instance_playmode\n-
    ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Return the playback mode of the sample instance.

    \n

    See also: ALLEGRO_PLAYMODE,\n al_set_sample_instance_playmode

    \n al_set_sample_instance_playmode\n
    bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl,\n-   ALLEGRO_PLAYMODE val)\n-bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl,\n-   ALLEGRO_PLAYMODE val)
    \n+ ALLEGRO_PLAYMODE val)\n

    Source\n Code

    \n

    Set the playback mode of the sample instance.

    \n

    Returns true on success, false on failure.

    \n

    See also: ALLEGRO_PLAYMODE,\n ex_mixer_chain.c\n

  • ex_acodec.c
  • \n \n al_get_sample_instance_playing\n-
    bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Return true if the sample instance is in the playing state. This may\n be true even if the instance is not attached to anything.

    \n

    See also: al_set_sample_instance_playing

    \n

    Examples:

    \n
      \n
    • ex_audio_chain.cpp
    • \n
    \n al_set_sample_instance_playing\n-
    bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val)\n-bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val)
    \n+
    bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val)
    \n

    Source\n Code

    \n

    Change whether the sample instance is playing.

    \n

    The instance does not need to be attached to anything (since:\n 5.1.8).

    \n

    Returns true on success, false on failure.

    \n@@ -1518,29 +1464,27 @@\n
  • ex_audio_props.cpp
  • \n
  • ex_audio_chain.cpp
  • \n \n al_get_sample_instance_attached\n-
    bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Return whether the sample instance is attached to something.

    \n

    See also: al_attach_sample_instance_to_mixer,\n al_attach_sample_instance_to_voice,\n al_detach_sample_instance

    \n

    al_detach_sample_instance

    \n-
    bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Detach the sample instance from whatever it\u2019s attached to, if\n anything.

    \n

    Returns true on success.

    \n

    See also: al_get_sample_instance_attached

    \n

    Examples:

    \n
      \n
    • ex_audio_chain.cpp
    • \n
    \n

    al_get_sample

    \n-
    ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl)\n-ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl)
    \n+
    ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl)
    \n

    Source\n Code

    \n

    Return the sample data that the sample instance plays.

    \n

    Note this returns a pointer to an internal structure, not\n the ALLEGRO_SAMPLE that you may\n have passed to al_set_sample.\n@@ -1576,16 +1519,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_acodec_multi.c#L109\">ex_acodec_multi.c\n

  • ex_kcm_direct.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_set_sample

    \n-
    bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data)\n-bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data)
    \n+
    bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data)
    \n

    Source\n Code

    \n

    Change the sample data that a sample instance plays. This can be\n quite an involved process.

    \n

    First, the sample is stopped if it is not already.

    \n

    Next, if data is NULL, the sample is detached from its parent (if\n@@ -1607,16 +1549,15 @@\n

  • ex_mixer_chain.c
  • \n
  • ex_acodec.c
  • \n \n al_set_sample_instance_channel_matrix\n-
    bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const float *matrix)\n-bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const float *matrix)
    \n+
    bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const float *matrix)
    \n

    Source\n Code

    \n

    Set the matrix used to mix the channels coming from this instance\n into the mixer it is attached to. Normally Allegro derives the values of\n this matrix from the gain and pan settings, as well as the channel\n configurations of this instance and the mixer it is attached to, but\n@@ -1646,16 +1587,15 @@\n

    Examples:

    \n
      \n
    • ex_acodec.c
    • \n
    \n

    Audio streams

    \n

    ALLEGRO_AUDIO_STREAM

    \n-
    typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM;\n-typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM;
    \n+
    typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM;
    \n

    Source\n Code

    \n

    An ALLEGRO_AUDIO_STREAM object is used to stream generated audio to\n the sound device, in real-time. This is done by reading from a buffer,\n which is split into a number of fragments. Whenever a fragment has\n finished playing, the user can refill it with new data.

    \n@@ -1701,18 +1641,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_stream_file.c#L79\">ex_stream_file.c\n
  • ex_resample_test.c
  • \n \n

    al_create_audio_stream

    \n
    ALLEGRO_AUDIO_STREAM *al_create_audio_stream(size_t fragment_count,\n    unsigned int frag_samples, unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n-   ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_AUDIO_STREAM *al_create_audio_stream(size_t fragment_count,\n-   unsigned int frag_samples, unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n-   ALLEGRO_CHANNEL_CONF chan_conf)
    \n+ ALLEGRO_CHANNEL_CONF chan_conf)\n

    Source\n Code

    \n

    Creates an ALLEGRO_AUDIO_STREAM. The\n stream will be set to play by default. It will feed audio data from a\n buffer, which is split into a number of fragments.

    \n@@ -1768,17 +1705,15 @@\n
  • ex_resample_test.c
  • \n
  • ex_synth.cpp
  • \n \n

    al_load_audio_stream

    \n
    ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename,\n-   size_t buffer_count, unsigned int samples)\n-ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename,\n-   size_t buffer_count, unsigned int samples)
    \n+ size_t buffer_count, unsigned int samples)\n

    Source\n Code

    \n

    Loads an audio file from disk as it is needed.

    \n

    Unlike regular streams, the one returned by this function need not be\n fed by the user; the library will automatically read more of the file as\n it is needed. The stream will contain buffer_count buffers with\n@@ -1804,17 +1739,15 @@\n

  • ex_mixer_pp.c
  • \n
  • ex_stream_seek.c
  • \n \n

    al_load_audio_stream_f

    \n
    ALLEGRO_AUDIO_STREAM *al_load_audio_stream_f(ALLEGRO_FILE* fp, const char *ident,\n-   size_t buffer_count, unsigned int samples)\n-ALLEGRO_AUDIO_STREAM *al_load_audio_stream_f(ALLEGRO_FILE* fp, const char *ident,\n-   size_t buffer_count, unsigned int samples)
    \n+ size_t buffer_count, unsigned int samples)\n

    Source\n Code

    \n

    Loads an audio file from ALLEGRO_FILE stream as it is\n needed.

    \n

    Unlike regular streams, the one returned by this function need not be\n@@ -1836,16 +1769,15 @@\n register your own format handler.

    \n \n

    See also: al_load_audio_stream, al_register_audio_stream_loader_f,\n al_init_acodec_addon

    \n

    al_destroy_audio_stream

    \n-
    void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    \n+
    void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Destroy an audio stream which was created with al_create_audio_stream or\n al_load_audio_stream.

    \n
    \n@@ -1863,17 +1795,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_stream_file.c#L124\">ex_stream_file.c\n
  • ex_resample_test.c
  • \n \n al_get_audio_stream_event_source\n
    ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source(\n-   ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source(\n-   ALLEGRO_AUDIO_STREAM *stream)
    \n+ ALLEGRO_AUDIO_STREAM *stream)\n

    Source\n Code

    \n

    Retrieve the associated event source.

    \n

    See al_get_audio_stream_fragment\n for a description of the ex_saw.c\n

  • ex_stream_file.c
  • \n
  • ex_resample_test.c
  • \n \n

    al_drain_audio_stream

    \n-
    void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    \n+
    void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    You should call this to finalise an audio stream that you will no\n longer be feeding, to wait for all pending buffers to finish playing.\n The stream\u2019s playing state will change to false.

    \n

    See also: ex_saw.c\n

  • ex_resample_test.c
  • \n
  • ex_record.c
  • \n \n

    al_rewind_audio_stream

    \n-
    bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    \n+
    bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Set the streaming file playing position to the beginning. Returns\n true on success. Currently this can only be called on streams created\n with al_load_audio_stream,\n al_play_audio_stream, Examples:

    \n
      \n
    • ex_stream_seek.c
    • \n
    \n al_get_audio_stream_frequency\n-
    unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream)
    \n+
    unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Return the stream frequency (in Hz).

    \n

    al_get_audio_stream_channels

    \n
    ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels(\n-   const ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels(\n-   const ALLEGRO_AUDIO_STREAM *stream)
    \n+ const ALLEGRO_AUDIO_STREAM *stream)\n

    Source\n Code

    \n

    Return the stream channel configuration.

    \n

    See also: ALLEGRO_CHANNEL_CONF.

    \n

    al_get_audio_stream_depth

    \n
    ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth(\n-   const ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth(\n-   const ALLEGRO_AUDIO_STREAM *stream)
    \n+ const ALLEGRO_AUDIO_STREAM *stream)\n

    Source\n Code

    \n

    Return the stream audio depth.

    \n

    See also: ALLEGRO_AUDIO_DEPTH.

    \n

    al_get_audio_stream_length

    \n-
    unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream)
    \n+
    unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Return the stream length in samples.

    \n

    Examples:

    \n
      \n
    • ex_stream_seek.c
    • \n
    \n

    al_get_audio_stream_speed

    \n-
    float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream)\n-float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream)
    \n+
    float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Return the relative playback speed of the stream.

    \n

    See also: al_set_audio_stream_speed.

    \n

    al_set_audio_stream_speed

    \n-
    bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val)\n-bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val)
    \n+
    bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val)
    \n

    Source\n Code

    \n

    Set the relative playback speed of the stream. 1.0 means normal\n speed.

    \n

    Return true on success, false on failure. Will fail if the audio\n stream is attached directly to a voice.

    \n

    See also: al_get_audio_stream_speed.

    \n

    al_get_audio_stream_gain

    \n-
    float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream)\n-float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream)
    \n+
    float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Return the playback gain of the stream.

    \n

    See also: al_set_audio_stream_gain.

    \n

    Examples:

    \n
      \n
    • ex_audio_chain.cpp
    • \n
    \n

    al_set_audio_stream_gain

    \n-
    bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val)\n-bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val)
    \n+
    bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val)
    \n

    Source\n Code

    \n

    Set the playback gain of the stream.

    \n

    Returns true on success, false on failure. Will fail if the audio\n stream is attached directly to a voice.

    \n

    See also: \n

  • ex_synth.cpp
  • \n
  • ex_audio_chain.cpp
  • \n \n

    al_get_audio_stream_pan

    \n-
    float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream)\n-float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream)
    \n+
    float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Get the pan value of the stream.

    \n

    See also: al_set_audio_stream_pan.

    \n

    al_set_audio_stream_pan

    \n-
    bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val)\n-bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val)
    \n+
    bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val)
    \n

    Source\n Code

    \n

    Set the pan value on an audio stream. A value of -1.0 means to play\n the stream only through the left speaker; +1.0 means only through the\n right speaker; 0.0 means the sample is centre balanced. A special value\n ALLEGRO_AUDIO_PAN_NONE\n@@ -2050,16 +1966,15 @@\n href=\"audio.html#allegro_audio_pan_none\">ALLEGRO_AUDIO_PAN_NONE

    \n

    Examples:

    \n
      \n
    • ex_synth.cpp
    • \n
    \n

    al_get_audio_stream_playing

    \n-
    bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream)\n-bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream)
    \n+
    bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Return true if the stream is playing.

    \n

    See also: al_set_audio_stream_playing.

    \n

    Examples:

    \n@@ -2068,16 +1983,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_record.c#L274\">ex_record.c\n
  • ex_stream_seek.c
  • \n
  • ex_audio_chain.cpp
  • \n \n

    al_set_audio_stream_playing

    \n-
    bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val)\n-bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val)
    \n+
    bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val)
    \n

    Source\n Code

    \n

    Change whether the stream is playing.

    \n

    Returns true on success, false on failure.

    \n

    See also: al_get_audio_stream_playing

    \n@@ -2088,29 +2002,25 @@\n
  • ex_record.c
  • \n
  • ex_stream_seek.c
  • \n \n

    al_get_audio_stream_playmode

    \n
    ALLEGRO_PLAYMODE al_get_audio_stream_playmode(\n-   const ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_PLAYMODE al_get_audio_stream_playmode(\n-   const ALLEGRO_AUDIO_STREAM *stream)
    \n+ const ALLEGRO_AUDIO_STREAM *stream)\n

    Source\n Code

    \n

    Return the playback mode of the stream.

    \n

    See also: ALLEGRO_PLAYMODE,\n al_set_audio_stream_playmode.

    \n

    al_set_audio_stream_playmode

    \n
    bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream,\n-   ALLEGRO_PLAYMODE val)\n-bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream,\n-   ALLEGRO_PLAYMODE val)
    \n+ ALLEGRO_PLAYMODE val)\n

    Source\n Code

    \n

    Set the playback mode of the stream.

    \n

    Returns true on success, false on failure.

    \n

    See also: ALLEGRO_PLAYMODE,\n ex_stream_file.c\n

  • ex_mixer_pp.c
  • \n
  • ex_stream_seek.c
  • \n \n

    al_get_audio_stream_attached

    \n-
    bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream)\n-bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream)
    \n+
    bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Return whether the stream is attached to something.

    \n

    See also: al_attach_audio_stream_to_mixer,\n al_attach_audio_stream_to_voice,\n al_detach_audio_stream.

    \n

    al_detach_audio_stream

    \n-
    bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    \n+
    bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Detach the stream from whatever it\u2019s attached to, if anything.

    \n

    See also: al_attach_audio_stream_to_mixer,\n Examples:

    \n
      \n
    • ex_audio_chain.cpp
    • \n
    \n al_get_audio_stream_played_samples\n-
    uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream)\n-uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream)
    \n+
    uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Get the number of samples consumed by the parent since the audio\n stream was started.

    \n

    Since: 5.1.8

    \n

    al_get_audio_stream_fragment

    \n-
    void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)\n-void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)
    \n+
    void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    When using Allegro\u2019s audio streaming, you will use this function to\n continuously provide new sample data to a stream.

    \n

    If the stream is ready for new data, the function will return the\n address of an internal buffer to be filled with audio data. The length\n@@ -2209,16 +2115,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_saw.c#L39\">ex_saw.c\n

  • ex_resample_test.c
  • \n
  • ex_synth.cpp
  • \n \n

    al_set_audio_stream_fragment

    \n-
    bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val)\n-bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val)
    \n+
    bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val)
    \n

    Source\n Code

    \n

    This function needs to be called for every successful call of al_get_audio_stream_fragment\n to indicate that the buffer (pointed to by val) is filled\n with new data.

    \n@@ -2231,43 +2136,39 @@\n
  • ex_resample_test.c
  • \n
  • ex_synth.cpp
  • \n \n al_get_audio_stream_fragments\n-
    unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)
    \n+
    unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Returns the number of fragments this stream uses. This is the same\n value as passed to al_create_audio_stream when\n a new stream is created.

    \n

    See also: al_get_available_audio_stream_fragments

    \n al_get_available_audio_stream_fragments\n
    unsigned int al_get_available_audio_stream_fragments(\n-   const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_available_audio_stream_fragments(\n-   const ALLEGRO_AUDIO_STREAM *stream)
    \n+ const ALLEGRO_AUDIO_STREAM *stream)\n

    Source\n Code

    \n

    Returns the number of available fragments in the stream, that is,\n fragments which are not currently filled with data for playback.

    \n

    See also: al_get_audio_stream_fragment,\n al_get_audio_stream_fragments

    \n

    al_seek_audio_stream_secs

    \n-
    bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time)\n-bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time)
    \n+
    bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time)
    \n

    Source\n Code

    \n

    Set the streaming file playing position to time. Returns true on\n success. Currently this can only be called on streams created with al_load_audio_stream, al_play_audio_stream, Examples:

    \n
      \n
    • ex_stream_seek.c
    • \n
    \n al_get_audio_stream_position_secs\n-
    double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream)\n-double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream)
    \n+
    double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Return the position of the stream in seconds. Currently this can only\n be called on streams created with al_load_audio_stream, al_play_audio_stream, Examples:

    \n
      \n
    • ex_stream_seek.c
    • \n
    \n al_get_audio_stream_length_secs\n-
    double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream)\n-double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream)
    \n+
    double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream)
    \n

    Source\n Code

    \n

    Return the length of the stream in seconds, if known. Otherwise\n returns zero.

    \n

    Currently this can only be called on streams created with al_load_audio_stream, \n

  • ex_stream_seek.c
  • \n \n al_set_audio_stream_loop_secs\n
    bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream,\n-   double start, double end)\n-bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream,\n-   double start, double end)
    \n+ double start, double end)\n

    Source\n Code

    \n

    Sets the loop points for the stream in seconds. Currently this can\n only be called on streams created with al_load_audio_stream, al_play_audio_stream, \n

    Unstable\n API: New API.

    \n
    \n

    Advanced audio file I/O

    \n

    al_register_sample_loader

    \n
    bool al_register_sample_loader(const char *ext,\n-   ALLEGRO_SAMPLE *(*loader)(const char *filename))\n-bool al_register_sample_loader(const char *ext,\n-   ALLEGRO_SAMPLE *(*loader)(const char *filename))
    \n+ ALLEGRO_SAMPLE *(*loader)(const char *filename))\n

    Source\n Code

    \n

    Register a handler for al_load_sample. The given function\n will be used to handle the loading of sample files with the given\n extension.

    \n@@ -2379,17 +2274,15 @@\n unregistering an entry that doesn\u2019t exist.

    \n

    See also: al_register_sample_loader_f,\n al_register_sample_saver

    \n

    al_register_sample_loader_f

    \n
    bool al_register_sample_loader_f(const char *ext,\n-   ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp))\n-bool al_register_sample_loader_f(const char *ext,\n-   ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp))
    \n+ ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp))\n

    Source\n Code

    \n

    Register a handler for al_load_sample_f. The given\n function will be used to handle the loading of sample files with the\n given extension.

    \n@@ -2399,17 +2292,15 @@\n entry.

    \n

    Returns true on success, false on error. Returns false if\n unregistering an entry that doesn\u2019t exist.

    \n

    See also: al_register_sample_loader

    \n

    al_register_sample_saver

    \n
    bool al_register_sample_saver(const char *ext,\n-   bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl))\n-bool al_register_sample_saver(const char *ext,\n-   bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl))
    \n+ bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl))\n

    Source\n Code

    \n

    Register a handler for al_save_sample. The given function\n will be used to handle the saving of sample files with the given\n extension.

    \n@@ -2421,17 +2312,15 @@\n unregistering an entry that doesn\u2019t exist.

    \n

    See also: al_register_sample_saver_f,\n al_register_sample_loader

    \n

    al_register_sample_saver_f

    \n
    bool al_register_sample_saver_f(const char *ext,\n-   bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl))\n-bool al_register_sample_saver_f(const char *ext,\n-   bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl))
    \n+ bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl))\n

    Source\n Code

    \n

    Register a handler for al_save_sample_f. The given\n function will be used to handle the saving of sample files with the\n given extension.

    \n@@ -2444,18 +2333,15 @@\n

    See also: al_register_sample_saver

    \n al_register_audio_stream_loader\n
    bool al_register_audio_stream_loader(const char *ext,\n ALLEGRO_AUDIO_STREAM *(*stream_loader)(const char *filename,\n- size_t buffer_count, unsigned int samples))\n-bool al_register_audio_stream_loader(const char *ext,\n- ALLEGRO_AUDIO_STREAM *(*stream_loader)(const char *filename,\n- size_t buffer_count, unsigned int samples))
    \n+ size_t buffer_count, unsigned int samples))\n

    Source\n Code

    \n

    Register a handler for al_load_audio_stream and al_play_audio_stream. The\n given function will be used to open streams from files with the given\n@@ -2469,18 +2355,15 @@\n

    See also: al_register_audio_stream_loader_f

    \n al_register_audio_stream_loader_f\n
    bool al_register_audio_stream_loader_f(const char *ext,\n ALLEGRO_AUDIO_STREAM *(*stream_loader)(ALLEGRO_FILE* fp,\n- size_t buffer_count, unsigned int samples))\n-bool al_register_audio_stream_loader_f(const char *ext,\n- ALLEGRO_AUDIO_STREAM *(*stream_loader)(ALLEGRO_FILE* fp,\n- size_t buffer_count, unsigned int samples))
    \n+ size_t buffer_count, unsigned int samples))\n

    Source\n Code

    \n

    Register a handler for al_load_audio_stream_f and\n al_play_audio_stream_f.\n The given function will be used to open streams from files with the\n@@ -2493,17 +2376,15 @@\n unregistering an entry that doesn\u2019t exist.

    \n

    See also: al_register_audio_stream_loader

    \n al_register_sample_identifier\n
    bool al_register_sample_identifier(const char *ext,\n- bool (*identifier)(ALLEGRO_FILE* fp))\n-bool al_register_sample_identifier(const char *ext,\n- bool (*identifier)(ALLEGRO_FILE* fp))
    \n+ bool (*identifier)(ALLEGRO_FILE* fp))\n

    Source\n Code

    \n

    Register an identify handler for al_identify_sample. The given\n function will be used to detect files for the given extension. It will\n be called with a single argument of type Returns true on success, false on error. Returns false if\n unregistering an entry that doesn\u2019t exist.

    \n

    Since: 5.2.8

    \n

    See also: al_identify_bitmap

    \n

    al_identify_sample

    \n
    char const *al_identify_sample(char const *filename)\n-char const *al_identify_sample(char const *filename)
    \n+class=\"sourceCode c\">char const *al_identify_sample(char const *filename)\n

    Source\n Code

    \n

    This works exactly as al_identify_sample_f but you\n specify the filename of the file for which to detect the type and not a\n file handle. The extension, if any, of the passed filename is not taken\n@@ -2537,16 +2417,15 @@\n

    Since: 5.2.8

    \n

    See also: al_init_acodec_addon, al_identify_sample_f, al_register_sample_identifier

    \n

    al_identify_sample_f

    \n
    char const *al_identify_sample_f(ALLEGRO_FILE *fp)\n-char const *al_identify_sample_f(ALLEGRO_FILE *fp)
    \n+class=\"sourceCode c\">char const *al_identify_sample_f(ALLEGRO_FILE *fp)\n

    Source\n Code

    \n

    Tries to guess the audio file type of the open ALLEGRO_FILE by\n reading the first few bytes. By default Allegro cannot recognize any\n file types, but calling al_init_acodec_addon will\n@@ -2568,16 +2447,15 @@\n add a small amount of latency. However, for most applications that small\n overhead will not adversely affect performance.

    \n

    Recording is supported by the ALSA, AudioQueue, DirectSound8, and\n PulseAudio drivers. Enumerating or choosing other recording devices is\n not yet supported.

    \n

    ALLEGRO_AUDIO_RECORDER

    \n
    typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER;\n-typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER;
    \n+class=\"sourceCode c\">typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER;\n

    Source\n Code

    \n

    An opaque datatype that represents a recording device.

    \n

    Since: 5.1.1

    \n
    \n

    Unstable\n@@ -2588,16 +2466,15 @@\n

  • ex_record_name.c
  • \n
  • ex_record.c
  • \n \n

    ALLEGRO_AUDIO_RECORDER_EVENT

    \n
    typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT;\n-typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT;
    \n+class=\"sourceCode c\">typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT;\n

    Source\n Code

    \n

    Structure that holds the audio recorder event data. Every event type\n will contain:

    \n
      \n
    • .source: pointer to the audio recorder
    • \n@@ -2621,18 +2498,15 @@\n
    • ex_record.c
    • \n
    \n

    al_create_audio_recorder

    \n
    ALLEGRO_AUDIO_RECORDER *al_create_audio_recorder(size_t fragment_count,\n unsigned int samples, unsigned int frequency,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_AUDIO_RECORDER *al_create_audio_recorder(size_t fragment_count,\n- unsigned int samples, unsigned int frequency,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)
    \n+ ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n

    Source\n Code

    \n

    Creates an audio recorder using the system\u2019s default recording\n device. (So if the returned device does not work, try updating the\n system\u2019s default recording device.)

    \n

    Allegro will internally buffer several seconds of captured audio with\n@@ -2669,16 +2543,15 @@\n

  • ex_record_name.c
  • \n
  • ex_record.c
  • \n \n

    al_start_audio_recorder

    \n
    bool al_start_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n-bool al_start_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)
    \n+class=\"sourceCode c\">bool al_start_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n

    Source\n Code

    \n

    Begin recording into the fragment buffer. Once a complete fragment\n has been captured (as specified in al_create_audio_recorder),\n an ex_record_name.c\n

  • ex_record.c
  • \n \n

    al_stop_audio_recorder

    \n
    void al_stop_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n-void al_stop_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)
    \n+class=\"sourceCode c\">void al_stop_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n

    Source\n Code

    \n

    Stop capturing audio data. Note that the audio recorder is still\n active and consuming resources, so if you are finished recording you\n should destroy it with al_destroy_audio_recorder.

    \n@@ -2716,30 +2588,28 @@\n
    \n

    Unstable\n API: The API may need a slight redesign.

    \n
    \n al_is_audio_recorder_recording\n
    bool al_is_audio_recorder_recording(ALLEGRO_AUDIO_RECORDER *r)\n-bool al_is_audio_recorder_recording(ALLEGRO_AUDIO_RECORDER *r)
    \n+class=\"sourceCode c\">bool al_is_audio_recorder_recording(ALLEGRO_AUDIO_RECORDER *r)\n

    Source\n Code

    \n

    Returns true if the audio recorder is currently capturing data and\n generating events.

    \n

    Since: 5.1.1

    \n
    \n

    Unstable\n API: The API may need a slight redesign.

    \n
    \n

    al_get_audio_recorder_event

    \n
    ALLEGRO_AUDIO_RECORDER_EVENT *al_get_audio_recorder_event(ALLEGRO_EVENT *event)\n-ALLEGRO_AUDIO_RECORDER_EVENT *al_get_audio_recorder_event(ALLEGRO_EVENT *event)
    \n+class=\"sourceCode c\">ALLEGRO_AUDIO_RECORDER_EVENT *al_get_audio_recorder_event(ALLEGRO_EVENT *event)\n

    Source\n Code

    \n

    Returns the event as an ALLEGRO_AUDIO_RECORDER_EVENT.

    \n

    Since: 5.1.1

    \n
    \n@@ -2752,16 +2622,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_record_name.c#L131\">ex_record_name.c\n
  • ex_record.c
  • \n \n al_get_audio_recorder_event_source\n
    ALLEGRO_EVENT_SOURCE *al_get_audio_recorder_event_source(ALLEGRO_AUDIO_RECORDER *r)\n-ALLEGRO_EVENT_SOURCE *al_get_audio_recorder_event_source(ALLEGRO_AUDIO_RECORDER *r)
    \n+class=\"sourceCode c\">ALLEGRO_EVENT_SOURCE *al_get_audio_recorder_event_source(ALLEGRO_AUDIO_RECORDER *r)\n

    Source\n Code

    \n

    Returns the event source for the recorder that generates the various\n recording events.

    \n

    Since: 5.1.1

    \n
    \n@@ -2773,16 +2642,15 @@\n
  • ex_record_name.c
  • \n
  • ex_record.c
  • \n \n

    al_destroy_audio_recorder

    \n
    void al_destroy_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n-void al_destroy_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)
    \n+class=\"sourceCode c\">void al_destroy_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n

    Source\n Code

    \n

    Destroys the audio recorder and frees all resources associated with\n it. It is safe to destroy a recorder that is recording.

    \n

    You may receive events after the recorder has been destroyed. They\n must be ignored, as the fragment buffer will no longer be valid.

    \n@@ -2797,74 +2665,69 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_record_name.c#L215\">ex_record_name.c\n
  • ex_record.c
  • \n \n

    Audio devices

    \n

    ALLEGRO_AUDIO_DEVICE

    \n
    typedef struct ALLEGRO_AUDIO_DEVICE ALLEGRO_AUDIO_DEVICE;\n-typedef struct ALLEGRO_AUDIO_DEVICE ALLEGRO_AUDIO_DEVICE;
    \n+class=\"sourceCode c\">typedef struct ALLEGRO_AUDIO_DEVICE ALLEGRO_AUDIO_DEVICE;\n

    Source\n Code

    \n

    An opaque datatype that represents an audio device.

    \n

    Examples:

    \n
      \n
    • ex_audio_devices.c
    • \n
    \n al_get_num_audio_output_devices\n
    int al_get_num_audio_output_devices()\n-int al_get_num_audio_output_devices()
    \n+class=\"sourceCode c\">int al_get_num_audio_output_devices()\n

    Source\n Code

    \n

    Get the number of available audio output devices on the system.

    \n

    Since: 5.2.8

    \n

    return -1 for unsupported drivers.

    \n

    Examples:

    \n
      \n
    • ex_audio_devices.c
    • \n
    \n

    al_get_audio_output_device

    \n
    const ALLEGRO_AUDIO_DEVICE* al_get_audio_output_device(int index)\n-const ALLEGRO_AUDIO_DEVICE* al_get_audio_output_device(int index)
    \n+class=\"sourceCode c\">const ALLEGRO_AUDIO_DEVICE* al_get_audio_output_device(int index)\n

    Source\n Code

    \n

    Get the output audio device of the specified index.

    \n

    Since: 5.2.8

    \n

    Examples:

    \n
      \n
    • ex_audio_devices.c
    • \n
    \n

    al_get_audio_device_name

    \n
    const char* al_get_audio_device_name(const ALLEGRO_AUDIO_DEVICE * device)\n-const char* al_get_audio_device_name(const ALLEGRO_AUDIO_DEVICE * device)
    \n+class=\"sourceCode c\">const char* al_get_audio_device_name(const ALLEGRO_AUDIO_DEVICE * device)\n

    Source\n Code

    \n

    Get the user friendly display name of the device.

    \n

    Since: 5.2.8

    \n

    Examples:

    \n
      \n
    • ex_audio_devices.c
    • \n
    \n

    Voices

    \n

    ALLEGRO_VOICE

    \n
    typedef struct ALLEGRO_VOICE ALLEGRO_VOICE;\n-typedef struct ALLEGRO_VOICE ALLEGRO_VOICE;
    \n+class=\"sourceCode c\">typedef struct ALLEGRO_VOICE ALLEGRO_VOICE;\n

    Source\n Code

    \n

    A voice represents an audio device on the system, which may be a real\n device, or an abstract device provided by the operating system. To play\n back audio, you would attach a mixer, sample instance or audio stream to\n a voice.

    \n@@ -2879,17 +2742,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_acodec_multi.c#L24\">ex_acodec_multi.c\n
  • ex_kcm_direct.c
  • \n \n

    al_create_voice

    \n
    ALLEGRO_VOICE *al_create_voice(unsigned int freq,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_VOICE *al_create_voice(unsigned int freq,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)
    \n+ ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n

    Source\n Code

    \n

    Creates a voice structure and allocates a voice from the digital\n sound driver. The passed frequency (in Hz), sample format and channel\n configuration are used as a hint to what kind of data will be sent to\n the voice. However, the underlying sound driver is free to use\n@@ -2912,16 +2773,15 @@\n

  • ex_acodec_multi.c
  • \n
  • ex_kcm_direct.c
  • \n \n

    al_destroy_voice

    \n
    void al_destroy_voice(ALLEGRO_VOICE *voice)\n-void al_destroy_voice(ALLEGRO_VOICE *voice)
    \n+class=\"sourceCode c\">void al_destroy_voice(ALLEGRO_VOICE *voice)\n

    Source\n Code

    \n

    Destroys the voice and deallocates it from the digital driver. Does\n nothing if the voice is NULL.

    \n

    See also: al_create_voice

    \n@@ -2932,16 +2792,15 @@\n
  • ex_acodec_multi.c
  • \n
  • ex_kcm_direct.c
  • \n \n

    al_detach_voice

    \n
    void al_detach_voice(ALLEGRO_VOICE *voice)\n-void al_detach_voice(ALLEGRO_VOICE *voice)
    \n+class=\"sourceCode c\">void al_detach_voice(ALLEGRO_VOICE *voice)\n

    Source\n Code

    \n

    Detaches the mixer, sample instance or audio stream from the\n voice.

    \n

    See also: al_attach_mixer_to_voice,\n@@ -2949,17 +2808,15 @@\n href=\"audio.html#al_attach_sample_instance_to_voice\">al_attach_sample_instance_to_voice,\n al_attach_audio_stream_to_voice

    \n al_attach_audio_stream_to_voice\n
    bool al_attach_audio_stream_to_voice(ALLEGRO_AUDIO_STREAM *stream,\n- ALLEGRO_VOICE *voice)\n-bool al_attach_audio_stream_to_voice(ALLEGRO_AUDIO_STREAM *stream,\n- ALLEGRO_VOICE *voice)
    \n+ ALLEGRO_VOICE *voice)\n

    Source\n Code

    \n

    Attaches an audio stream to a voice. The same rules as al_attach_sample_instance_to_voice\n apply. This may fail if the driver can\u2019t create a voice with the buffer\n count and buffer size the stream uses.

    \n@@ -2976,16 +2833,15 @@\n
  • ex_stream_file.c
  • \n
  • ex_audio_chain.cpp
  • \n \n

    al_attach_mixer_to_voice

    \n
    bool al_attach_mixer_to_voice(ALLEGRO_MIXER *mixer, ALLEGRO_VOICE *voice)\n-bool al_attach_mixer_to_voice(ALLEGRO_MIXER *mixer, ALLEGRO_VOICE *voice)
    \n+class=\"sourceCode c\">bool al_attach_mixer_to_voice(ALLEGRO_MIXER *mixer, ALLEGRO_VOICE *voice)\n

    Source\n Code

    \n

    Attaches a mixer to a voice. It must have the same frequency and\n channel configuration, but the depth may be different.

    \n

    Returns true on success, false on failure.

    \n

    See also: ex_mixer_chain.c\n \n al_attach_sample_instance_to_voice\n

    bool al_attach_sample_instance_to_voice(ALLEGRO_SAMPLE_INSTANCE *spl,\n- ALLEGRO_VOICE *voice)\n-bool al_attach_sample_instance_to_voice(ALLEGRO_SAMPLE_INSTANCE *spl,\n- ALLEGRO_VOICE *voice)
    \n+ ALLEGRO_VOICE *voice)\n

    Source\n Code

    \n

    Attaches a sample instance to a voice, and allows it to play. The\n instance\u2019s gain and loop mode will be ignored, and it must have the same\n frequency, channel configuration and depth (including signed-ness) as\n the voice. This function may fail if the selected driver doesn\u2019t support\n@@ -3024,59 +2878,54 @@\n

  • ex_kcm_direct.c
  • \n
  • ex_audio_chain.cpp
  • \n \n

    al_get_voice_frequency

    \n
    unsigned int al_get_voice_frequency(const ALLEGRO_VOICE *voice)\n-unsigned int al_get_voice_frequency(const ALLEGRO_VOICE *voice)
    \n+class=\"sourceCode c\">unsigned int al_get_voice_frequency(const ALLEGRO_VOICE *voice)\n

    Source\n Code

    \n

    Return the frequency of the voice (in Hz), e.g.\u00a044100.

    \n

    al_get_voice_channels

    \n
    ALLEGRO_CHANNEL_CONF al_get_voice_channels(const ALLEGRO_VOICE *voice)\n-ALLEGRO_CHANNEL_CONF al_get_voice_channels(const ALLEGRO_VOICE *voice)
    \n+class=\"sourceCode c\">ALLEGRO_CHANNEL_CONF al_get_voice_channels(const ALLEGRO_VOICE *voice)\n

    Source\n Code

    \n

    Return the channel configuration of the voice.

    \n

    See also: ALLEGRO_CHANNEL_CONF.

    \n

    al_get_voice_depth

    \n
    ALLEGRO_AUDIO_DEPTH al_get_voice_depth(const ALLEGRO_VOICE *voice)\n-ALLEGRO_AUDIO_DEPTH al_get_voice_depth(const ALLEGRO_VOICE *voice)
    \n+class=\"sourceCode c\">ALLEGRO_AUDIO_DEPTH al_get_voice_depth(const ALLEGRO_VOICE *voice)\n

    Source\n Code

    \n

    Return the audio depth of the voice.

    \n

    See also: ALLEGRO_AUDIO_DEPTH.

    \n

    al_get_voice_playing

    \n
    bool al_get_voice_playing(const ALLEGRO_VOICE *voice)\n-bool al_get_voice_playing(const ALLEGRO_VOICE *voice)
    \n+class=\"sourceCode c\">bool al_get_voice_playing(const ALLEGRO_VOICE *voice)\n

    Source\n Code

    \n

    Return true if the voice is currently playing.

    \n

    See also: al_set_voice_playing

    \n

    Examples:

    \n
      \n
    • ex_audio_chain.cpp
    • \n
    \n

    al_set_voice_playing

    \n
    bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val)\n-bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val)
    \n+class=\"sourceCode c\">bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val)\n

    Source\n Code

    \n

    Change whether a voice is playing or not. This can only work if the\n voice has a non-streaming object attached to it, e.g.\u00a0a sample instance.\n On success the voice\u2019s current sample position is reset.

    \n

    Returns true on success, false on failure.

    \n@@ -3085,41 +2934,38 @@\n

    Examples:

    \n
      \n
    • ex_audio_chain.cpp
    • \n
    \n

    al_get_voice_position

    \n
    unsigned int al_get_vALLEGRO_TIMEOUT\n-unsigned int al_get_voice_position(const ALLEGRO_VOICE *voice)
    \n+class=\"sourceCode c\">unsigned int al_get_voice_position(const ALLEGRO_VOICE *voice)\n

    Source\n+href=\"https://github.com/liballeg/allegro5/blob/master/addons/audio/kcm_voice.c#L414\">Source\n Code

    \n

    When the voice has a non-streaming object attached to it, e.g.\u00a0a\n sample, returns the voice\u2019s current sample position. Otherwise, returns\n zero.

    \n

    See also: al_set_voice_position.

    \n

    al_set_voice_position

    \n
    bool al_set_voice_position(ALLEGRO_VOICE *voice, unsigned int val)\n-bool al_set_voice_position(ALLEGRO_VOICE *voice, unsigned int val)
    \n+class=\"sourceCode c\">bool al_set_voice_position(ALLEGRO_VOICE *voice, unsigned int val)\n

    Source\n Code

    \n

    Set the voice position. This can only work if the voice has a\n non-streaming object attached to it, e.g.\u00a0a sample instance.

    \n

    Returns true on success, false on failure.

    \n

    See also: al_get_voice_position.

    \n

    Mixers

    \n

    ALLEGRO_MIXER

    \n
    typedef struct ALLEGRO_MIXER ALLEGRO_MIXER;\n-typedef struct ALLEGRO_MIXER ALLEGRO_MIXER;
    \n+class=\"sourceCode c\">typedef struct ALLEGRO_MIXER ALLEGRO_MIXER;\n

    Source\n Code

    \n

    A mixer mixes together attached streams into a single buffer. In the\n process, it converts channel configurations, sample frequencies and\n audio depths of the attached sample instances and audio streams\n accordingly. You can control the quality of this conversion using\n@@ -3136,31 +2982,28 @@\n

  • ex_acodec_multi.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    ALLEGRO_MIXER_QUALITY

    \n
    enum ALLEGRO_MIXER_QUALITY\n-enum ALLEGRO_MIXER_QUALITY
    \n+class=\"sourceCode c\">enum ALLEGRO_MIXER_QUALITY\n

    Source\n Code

    \n
      \n
    • ALLEGRO_MIXER_QUALITY_POINT - point sampling
    • \n
    • ALLEGRO_MIXER_QUALITY_LINEAR - linear interpolation
    • \n
    • ALLEGRO_MIXER_QUALITY_CUBIC - cubic interpolation (since: 5.0.8,\n 5.1.4)
    • \n
    \n

    al_create_mixer

    \n
    ALLEGRO_MIXER *al_create_mixer(unsigned int freq,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_MIXER *al_create_mixer(unsigned int freq,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)
    \n+ ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n

    Source\n Code

    \n

    Creates a mixer to attach sample instances, audio streams, or other\n mixers to. It will mix into a buffer at the requested frequency (in Hz)\n and channel count.

    \n

    The only supported audio depths are ALLEGRO_AUDIO_DEPTH_FLOAT32 and\n@@ -3182,16 +3025,15 @@\n

  • ex_acodec_multi.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_destroy_mixer

    \n
    void al_destroy_mixer(ALLEGRO_MIXER *mixer)\n-void al_destroy_mixer(ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">void al_destroy_mixer(ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Destroys the mixer.

    \n

    See also: al_create_mixer

    \n

    Examples:

    \n@@ -3201,16 +3043,15 @@\n
  • ex_acodec_multi.c
  • \n
  • ex_mixer_chain.c
  • \n \n

    al_get_default_mixer

    \n
    ALLEGRO_MIXER *al_get_default_mixer(void)\n-ALLEGRO_MIXER *al_get_default_mixer(void)
    \n+class=\"sourceCode c\">ALLEGRO_MIXER *al_get_default_mixer(void)\n

    Source\n Code

    \n

    Return the default mixer, or NULL if one has not been set. Although\n different configurations of mixers and voices can be used, in most cases\n a single mixer attached to a voice is what you want. The default mixer\n is used by al_play_sample.

    \n@@ -3226,16 +3067,15 @@\n
  • ex_audio_props.cpp
  • \n
  • ex_resample_test.c
  • \n \n

    al_set_default_mixer

    \n
    bool al_set_default_mixer(ALLEGRO_MIXER *mixer)\n-bool al_set_default_mixer(ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">bool al_set_default_mixer(ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Sets the default mixer. All samples started with al_play_sample will be stopped and\n all sample instances returned by al_lock_sample_id will be\n@@ -3246,16 +3086,15 @@\n

    See also: al_reserve_samples, al_play_sample, al_get_default_mixer, al_restore_default_mixer

    \n

    al_restore_default_mixer

    \n
    bool al_restore_default_mixer(void)\n-bool al_restore_default_mixer(void)
    \n+class=\"sourceCode c\">bool al_restore_default_mixer(void)\n

    Source\n Code

    \n

    Restores Allegro\u2019s default mixer and attaches it to the default\n voice. If the default mixer hasn\u2019t been created before, it will be\n created. If the default voice hasn\u2019t been set via al_set_default_voice or\n@@ -3267,40 +3106,37 @@\n

    Returns true on success, false on error.

    \n

    See also: al_get_default_mixer, al_set_default_mixer, al_reserve_samples.

    \n

    al_get_default_voice

    \n
    ALLEGRO_VOICE *al_get_default_voice(void)\n-ALLEGRO_VOICE *al_get_default_voice(void)
    \n+class=\"sourceCode c\">ALLEGRO_VOICE *al_get_default_voice(void)\n

    Source\n Code

    \n

    Returns the default voice or NULL if there is none.

    \n

    Since: 5.1.13

    \n

    See also: al_get_default_mixer

    \n

    al_set_default_voice

    \n
    void al_set_default_voice(ALLEGRO_VOICE *voice)\n-void al_set_default_voice(ALLEGRO_VOICE *voice)
    \n+class=\"sourceCode c\">void al_set_default_voice(ALLEGRO_VOICE *voice)\n

    Source\n Code

    \n

    You can call this before calling al_restore_default_mixer to provide\n the voice which should be used. Any previous voice will be destroyed.\n You can also pass NULL to destroy the current default voice.

    \n

    Since: 5.1.13

    \n

    See also: al_get_default_mixer

    \n

    al_attach_mixer_to_mixer

    \n
    bool al_attach_mixer_to_mixer(ALLEGRO_MIXER *stream, ALLEGRO_MIXER *mixer)\n-bool al_attach_mixer_to_mixer(ALLEGRO_MIXER *stream, ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">bool al_attach_mixer_to_mixer(ALLEGRO_MIXER *stream, ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Attaches the mixer passed as the first argument onto the mixer passed\n as the second argument. The first mixer (that is going to be attached)\n must not already be attached to anything. Both mixers must use the same\n frequency, audio depth and channel configuration.

    \n@@ -3315,17 +3151,15 @@\n
  • ex_audio_chain.cpp
  • \n \n al_attach_sample_instance_to_mixer\n
    bool al_attach_sample_instance_to_mixer(ALLEGRO_SAMPLE_INSTANCE *spl,\n- ALLEGRO_MIXER *mixer)\n-bool al_attach_sample_instance_to_mixer(ALLEGRO_SAMPLE_INSTANCE *spl,\n- ALLEGRO_MIXER *mixer)
    \n+ ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Attach a sample instance to a mixer. The instance must not already be\n attached to anything.

    \n

    Returns true on success, false on failure.

    \n

    See also: ex_mixer_chain.c\n

  • ex_acodec.c
  • \n \n al_attach_audio_stream_to_mixer\n
    bool al_attach_audio_stream_to_mixer(ALLEGRO_AUDIO_STREAM *stream, ALLEGRO_MIXER *mixer)\n-bool al_attach_audio_stream_to_mixer(ALLEGRO_AUDIO_STREAM *stream, ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">bool al_attach_audio_stream_to_mixer(ALLEGRO_AUDIO_STREAM *stream, ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Attach an audio stream to a mixer. The stream must not already be\n attached to anything.

    \n

    Returns true on success, false on failure.

    \n

    See also: ex_stream_file.c\n

  • ex_resample_test.c
  • \n \n

    al_get_mixer_frequency

    \n
    unsigned int al_get_mixer_frequency(const ALLEGRO_MIXER *mixer)\n-unsigned int al_get_mixer_frequency(const ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">unsigned int al_get_mixer_frequency(const ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Return the mixer frequency (in Hz).

    \n

    See also: al_set_mixer_frequency

    \n

    al_set_mixer_frequency

    \n
    bool al_set_mixer_frequency(ALLEGRO_MIXER *mixer, unsigned int val)\n-bool al_set_mixer_frequency(ALLEGRO_MIXER *mixer, unsigned int val)
    \n+class=\"sourceCode c\">bool al_set_mixer_frequency(ALLEGRO_MIXER *mixer, unsigned int val)\n

    Source\n Code

    \n

    Set the mixer frequency (in Hz). This will only work if the mixer is\n not attached to anything.

    \n

    Returns true on success, false on failure.

    \n

    See also: al_get_mixer_frequency

    \n

    al_get_mixer_channels

    \n
    ALLEGRO_CHANNEL_CONF al_get_mixer_channels(const ALLEGRO_MIXER *mixer)\n-ALLEGRO_CHANNEL_CONF al_get_mixer_channels(const ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">ALLEGRO_CHANNEL_CONF al_get_mixer_channels(const ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Return the mixer channel configuration.

    \n

    See also: ALLEGRO_CHANNEL_CONF.

    \n

    Examples:

    \n
      \n
    • ex_synth.cpp
    • \n
    \n

    al_get_mixer_depth

    \n
    ALLEGRO_AUDIO_DEPTH al_get_mixer_depth(const ALLEGRO_MIXER *mixer)\n-ALLEGRO_AUDIO_DEPTH al_get_mixer_depth(const ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">ALLEGRO_AUDIO_DEPTH al_get_mixer_depth(const ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Return the mixer audio depth.

    \n

    See also: ALLEGRO_AUDIO_DEPTH.

    \n

    Examples:

    \n
      \n
    • ex_synth.cpp
    • \n
    \n

    al_get_mixer_gain

    \n
    float al_get_mixer_gain(const ALLEGRO_MIXER *mixer)\n-float al_get_mixer_gain(const ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">float al_get_mixer_gain(const ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Return the mixer gain (amplification factor). The default is 1.0.

    \n

    Since: 5.0.6, 5.1.0

    \n

    See also: al_set_mixer_gain.

    \n

    Examples:

    \n
      \n
    • ex_audio_chain.cpp
    • \n
    \n

    al_set_mixer_gain

    \n
    bool al_set_mixer_gain(ALLEGRO_MIXER *mixer, float new_gain)\n-bool al_set_mixer_gain(ALLEGRO_MIXER *mixer, float new_gain)
    \n+class=\"sourceCode c\">bool al_set_mixer_gain(ALLEGRO_MIXER *mixer, float new_gain)\n

    Source\n Code

    \n

    Set the mixer gain (amplification factor).

    \n

    Returns true on success, false on failure.

    \n

    Since: 5.0.6, 5.1.0

    \n

    See also: ex_audio_props.cpp\n

  • ex_audio_chain.cpp
  • \n \n

    al_get_mixer_quality

    \n
    ALLEGRO_MIXER_QUALITY al_get_mixer_quality(const ALLEGRO_MIXER *mixer)\n-ALLEGRO_MIXER_QUALITY al_get_mixer_quality(const ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">ALLEGRO_MIXER_QUALITY al_get_mixer_quality(const ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Return the mixer quality.

    \n

    See also: ALLEGRO_MIXER_QUALITY, al_set_mixer_quality

    \n

    al_set_mixer_quality

    \n
    bool al_set_mixer_quality(ALLEGRO_MIXER *mixer, ALLEGRO_MIXER_QUALITY new_quality)\n-bool al_set_mixer_quality(ALLEGRO_MIXER *mixer, ALLEGRO_MIXER_QUALITY new_quality)
    \n+class=\"sourceCode c\">bool al_set_mixer_quality(ALLEGRO_MIXER *mixer, ALLEGRO_MIXER_QUALITY new_quality)\n

    Source\n Code

    \n

    Set the mixer quality. This can only succeed if the mixer does not\n have anything attached to it.

    \n

    Returns true on success, false on failure.

    \n

    See also: ALLEGRO_MIXER_QUALITY, al_get_mixer_quality

    \n

    al_get_mixer_playing

    \n
    bool al_get_mixer_playing(const ALLEGRO_MIXER *mixer)\n-bool al_get_mixer_playing(const ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">bool al_get_mixer_playing(const ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Return true if the mixer is playing.

    \n

    See also: al_set_mixer_playing.

    \n

    Examples:

    \n
      \n
    • ex_audio_chain.cpp
    • \n
    \n

    al_set_mixer_playing

    \n
    bool al_set_mixer_playing(ALLEGRO_MIXER *mixer, bool val)\n-bool al_set_mixer_playing(ALLEGRO_MIXER *mixer, bool val)
    \n+class=\"sourceCode c\">bool al_set_mixer_playing(ALLEGRO_MIXER *mixer, bool val)\n

    Source\n Code

    \n

    Change whether the mixer is playing.

    \n

    Returns true on success, false on failure.

    \n

    See also: al_get_mixer_playing.

    \n

    Examples:

    \n
      \n
    • ex_audio_chain.cpp
    • \n
    \n

    al_get_mixer_attached

    \n
    bool al_get_mixer_attached(const ALLEGRO_MIXER *mixer)\n-bool al_get_mixer_attached(const ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">bool al_get_mixer_attached(const ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Return true if the mixer is attached to something.

    \n

    See also: al_attach_sample_instance_to_mixer,\n al_attach_audio_stream_to_mixer,\n al_attach_mixer_to_mixer,\n al_detach_mixer

    \n

    al_detach_mixer

    \n
    bool al_detach_mixer(ALLEGRO_MIXER *mixer)\n-bool al_detach_mixer(ALLEGRO_MIXER *mixer)
    \n+class=\"sourceCode c\">bool al_detach_mixer(ALLEGRO_MIXER *mixer)\n

    Source\n Code

    \n

    Detach the mixer from whatever it is attached to, if anything.

    \n

    See also: al_attach_mixer_to_mixer.

    \n

    Examples:

    \n@@ -3534,18 +3355,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_audio_chain.cpp#L460\">ex_audio_chain.cpp\n \n al_set_mixer_postprocess_callback\n
    bool al_set_mixer_postprocess_callback(ALLEGRO_MIXER *mixer,\n void (*pp_callback)(void *buf, unsigned int samples, void *data),\n- void *pp_callback_userdata)\n-bool al_set_mixer_postprocess_callback(ALLEGRO_MIXER *mixer,\n- void (*pp_callback)(void *buf, unsigned int samples, void *data),\n- void *pp_callback_userdata)
    \n+ void *pp_callback_userdata)\n

    Source\n Code

    \n

    Sets a post-processing filter function that\u2019s called after the\n attached streams have been mixed. The buffer\u2019s format will be whatever\n the mixer was created with. The sample count and user-data pointer is\n also passed.

    \n@@ -3561,16 +3379,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_synth.cpp#L500\">ex_synth.cpp\n
  • ex_mixer_pp.c
  • \n \n

    Miscelaneous

    \n

    ALLEGRO_AUDIO_DEPTH

    \n
    enum ALLEGRO_AUDIO_DEPTH\n-enum ALLEGRO_AUDIO_DEPTH
    \n+class=\"sourceCode c\">enum ALLEGRO_AUDIO_DEPTH\n

    Source\n Code

    \n

    Sample depth and type as well as signedness. Mixers only use 32-bit\n signed float (-1..+1), or 16-bit signed integers. Signedness is\n determined by an \u201cunsigned\u201d bit-flag applied to the depth value.

    \n
      \n@@ -3593,16 +3410,15 @@\n
    • ex_stream_file.c
    • \n
    • ex_acodec_multi.c
    • \n
    \n

    ALLEGRO_AUDIO_PAN_NONE

    \n
    #define ALLEGRO_AUDIO_PAN_NONE (-1000.0f)\n-#define ALLEGRO_AUDIO_PAN_NONE (-1000.0f)
    \n+class=\"sourceCode c\">#define ALLEGRO_AUDIO_PAN_NONE (-1000.0f)\n

    Source\n Code

    \n

    A special value for the pan property of sample instances and audio\n streams. Use this value to disable panning on sample instances and audio\n streams, and play them without attentuation implied by panning\n support.

    \n@@ -3616,16 +3432,15 @@\n

    Examples:

    \n
      \n
    • ex_audio_props.cpp
    • \n
    \n

    ALLEGRO_CHANNEL_CONF

    \n
    enum ALLEGRO_CHANNEL_CONF\n-enum ALLEGRO_CHANNEL_CONF
    \n+class=\"sourceCode c\">enum ALLEGRO_CHANNEL_CONF\n

    Source\n Code

    \n

    Speaker configuration (mono, stereo, 2.1, etc).

    \n
      \n
    • ALLEGRO_CHANNEL_CONF_1
    • \n
    • ALLEGRO_CHANNEL_CONF_2
    • \n@@ -3642,16 +3457,15 @@\n
    • ex_stream_file.c
    • \n
    • ex_acodec_multi.c
    • \n
    \n

    ALLEGRO_PLAYMODE

    \n
    enum ALLEGRO_PLAYMODE\n-enum ALLEGRO_PLAYMODE
    \n+class=\"sourceCode c\">enum ALLEGRO_PLAYMODE\n

    Source\n Code

    \n

    Sample and stream playback mode.

    \n
      \n
    • ALLEGRO_PLAYMODE_ONCE - the sample/stream is played from start to\n finish an then it stops.
    • \n@@ -3673,16 +3487,15 @@\n
    • ex_kcm_direct.c
    • \n
    • ex_mixer_chain.c
    • \n
    \n

    ALLEGRO_AUDIO_EVENT_TYPE

    \n
    enum ALLEGRO_AUDIO_EVENT_TYPE\n-enum ALLEGRO_AUDIO_EVENT_TYPE
    \n+class=\"sourceCode c\">enum ALLEGRO_AUDIO_EVENT_TYPE\n

    Source\n Code

    \n

    Events sent by al_get_audio_stream_event_source\n or al_get_audio_recorder_event_source.

    \n@@ -3705,64 +3518,59 @@\n

    Since: 5.1.1

    \n
    \n

    Unstable\n API: The API may need a slight redesign.

    \n
    \n

    al_get_allegro_audio_version

    \n
    uint32_t al_get_allegro_audio_version(void)\n-uint32_t al_get_allegro_audio_version(void)
    \n+class=\"sourceCode c\">uint32_t al_get_allegro_audio_version(void)\n

    Source\n Code

    \n

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    \n

    al_get_audio_depth_size

    \n
    size_t al_get_audio_depth_size(ALLEGRO_AUDIO_DEPTH depth)\n-size_t al_get_audio_depth_size(ALLEGRO_AUDIO_DEPTH depth)
    \n+class=\"sourceCode c\">size_t al_get_audio_depth_size(ALLEGRO_AUDIO_DEPTH depth)\n

    Source\n Code

    \n

    Return the size of a sample, in bytes, for the given format. The\n format is one of the values listed under ALLEGRO_AUDIO_DEPTH.

    \n

    Examples:

    \n
      \n
    • ex_synth.cpp
    • \n
    \n

    al_get_channel_count

    \n
    size_t al_get_channel_count(ALLEGRO_CHANNEL_CONF conf)\n-size_t al_get_channel_count(ALLEGRO_CHANNEL_CONF conf)
    \n+class=\"sourceCode c\">size_t al_get_channel_count(ALLEGRO_CHANNEL_CONF conf)\n

    Source\n Code

    \n

    Return the number of channels for the given channel configuration,\n which is one of the values listed under ALLEGRO_CHANNEL_CONF.

    \n

    Examples:

    \n
      \n
    • ex_acodec.c
    • \n
    \n

    al_fill_silence

    \n
    void al_fill_silence(void *buf, unsigned int samples,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-void al_fill_silence(void *buf, unsigned int samples,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)
    \n+ ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n

    Source\n Code

    \n

    Fill a buffer with silence, for the given format and channel\n configuration. The buffer must have enough space for the given number of\n samples, and be properly aligned.

    \n

    Since: 5.1.8

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:58 UTC\n+ - Last updated: 2024-01-07 09:01:15 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -230,55 +230,50 @@\n samples, you can use the ALLEGRO_SAMPLE_ID that al_play_sample returns.\n If you want to play large audio files (e.g.\u00c2\u00a0background music) without loading\n the whole file at once you can use al_play_audio_stream (after calling\n al_reserve_samples). This will load and play an ALLEGRO_AUDIO_STREAM. Note that\n the basic API only supports on such audio stream playing at once.\n ***** ALLEGRO_SAMPLE_ID *****\n typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID;\n-typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID;\n Source_Code\n An ALLEGRO_SAMPLE_ID represents a sample being played via al_play_sample. It\n can be used to later sALLEGRO_BITMAP_WRAPtop the sample with al_stop_sample.\n The underlying ALLEGRO_SAMPLE_INSTANCE can be extracted using\n al_lock_sample_id.\n Examples:\n * ex_audio_simple.c\n ***** al_install_audio *****\n bool al_install_audio(void)\n-bool al_install_audio(void)\n Source_Code\n Install the audio subsystem.\n Returns true on success, false on failure.\n Note: most users will call al_reserve_samples and\n al_init_acodec_addon after this.\n See also: al_reserve_samples, al_uninstall_audio, al_is_audio_installed,\n al_init_acodec_addon\n Examples:\n * ex_audio_devices.c\n * ex_saw.c\n * ex_stream_file.c\n ***** al_uninstall_audio *****\n void al_uninstall_audio(void)\n-void al_uninstall_audio(void)\n Source_Code\n Uninstalls the audio subsystem.\n See also: al_install_audio\n Examples:\n * ex_saw.c\n * ex_stream_file.c\n * ex_acodec_multi.c\n ***** al_is_audio_installed *****\n bool al_is_audio_installed(void)\n-bool al_is_audio_installed(void)\n Source_Code\n Returns true if al_install_audio was called previously and returned\n successfully.\n ***** al_reserve_samples *****\n bool al_reserve_samples(int reserve_samples)\n-bool al_reserve_samples(int reserve_samples)\n Source_Code\n Reserves a number of sample instances, attaching them to the default mixer. If\n no default mixer is set when this function is called, then it will create one\n and attach it to the default voice. If no default voice has been set, it, too,\n will be created.\n If you call this function a second time with a smaller number of samples, then\n the excess internal sample instances will be destroyed causing some sounds to\n@@ -295,16 +290,14 @@\n Examples:\n * ex_saw.c\n * ex_audio_props.cpp\n * ex_resample_test.c\n ***** al_play_sample *****\n bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed,\n ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id)\n-bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed,\n- ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id)\n Source_Code\n Plays a sample on one of the sample instances created by al_reserve_samples.\n Returns true on success, false on failure. Playback may fail because all the\n reserved sample instances are currently used.\n Parameters:\n * gain - relative volume at which the sample is played; 1.0 is normal.\n * pan - 0.0 is centred, -1.0 is left, 1.0 is right, or\n@@ -320,33 +313,30 @@\n ALLEGRO_SAMPLE_ID, al_stop_sample, al_stop_samples, al_lock_sample_id.\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_stop_sample *****\n void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id)\n-void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id)\n Source_Code\n Stop the sample started by al_play_sample.\n See also: al_stop_samples\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_stop_samples *****\n void al_stop_samples(void)\n-void al_stop_samples(void)\n Source_Code\n Stop all samples started by al_play_sample.\n See also: al_stop_sample\n Examples:\n * ex_audio_simple.c\n ***** al_lock_sample_id *****\n ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)\n-ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)\n Source_Code\n Locks a ALLEGRO_SAMPLE_ID, returning the underlying ALLEGRO_SAMPLE_INSTANCE.\n This allows you to adjust the various properties of the instance (such as\n volume, pan, etc) while the sound is playing.\n This function will return NULL if the sound corresponding to the id is no\n longer playing.\n While locked, ALLEGRO_SAMPLE_ID will be unavailable to additional calls to\n@@ -356,28 +346,26 @@\n See also: al_play_sample, al_unlock_sample_id\n Since: 5.2.3\n Unstable_API: New API.\n Examples:\n * ex_audio_simple.c\n ***** al_unlock_sample_id *****\n void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)\n-void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)\n Source_Code\n Unlocks a ALLEGRO_SAMPLE_ID, allowing future calls to al_play_sample to reuse\n it if possible. Note that after the id is unlocked, the ALLEGRO_SAMPLE_INSTANCE\n that was previously returned by al_lock_sample_id will possibly be playing a\n different sound, so you should only use it after locking the id again.\n See also: al_play_sample, al_lock_sample_id\n Since: 5.2.3\n Unstable_API: New API.\n Examples:\n * ex_audio_simple.c\n ***** al_play_audio_stream *****\n ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename)\n-ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename)\n Source_Code\n Loads and plays an audio file from disk as it is needed. This API can only play\n one audio stream at a time.\n Returns the stream on success, NULL on failure. You must not destroy the\n returned stream, it will be automatically destroyed when the addon is shut\n down.\n Note: the allegro_audio library does not support any audio file\n@@ -387,16 +375,14 @@\n Since: 5.2.8\n Unstable_API: New API.\n Examples:\n * ex_audio_simple.c\n ***** al_play_audio_stream_f *****\n ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char\n *ident)\n-ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char\n-*ident)\n Source_Code\n Loads and plays an audio file from ALLEGRO_FILE stream as it is needed.\n The file type is determined by the passed \u00e2\u0080\u0098ident\u00e2\u0080\u0099 parameter, which is a\n file name extension including the leading dot.\n Returns the stream on success, NULL on failure. You must not destroy the\n returned stream, it will be automatically destroyed when the addon is shut\n down. On success the file should be considered owned by the audio stream, and\n@@ -407,32 +393,28 @@\n register your own format handler.\n See also: al_play_audio_stream, al_load_audio_stream_f\n Since: 5.2.8\n Unstable_API: New API.\n ****** Samples ******\n ***** ALLEGRO_SAMPLE *****\n typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE;\n-typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE;\n Source_Code\n An ALLEGRO_SAMPLE object stores the data necessary for playing pre-defined\n digital audio. It holds a user-specified PCM data buffer and information about\n its format (data length, depth, frequency, channel configuration). You can have\n the same ALLEGRO_SAMPLE playing multiple times simultaneously.\n See also: ALLEGRO_SAMPLE_INSTANCE\n Examples:\n * ex_glext.c\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n ***** al_create_sample *****\n ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,\n unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)\n-ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,\n- unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n- ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)\n Source_Code\n Create a sample data structure from the supplied buffer. If free_buf is true\n then the buffer will be freed with al_free when the sample data structure is\n destroyed. For portability (especially Windows), the buffer should have been\n allocated with al_malloc. Otherwise you should free the sample data yourself.\n A sample that is referred to by the samples parameter refers to a sequence\n channel intensities. E.g. if you\u00e2\u0080\u0099re making a stereo sample with the samples\n@@ -448,15 +430,14 @@\n See also: al_destroy_sample, ALLEGRO_AUDIO_DEPTH, ALLEGRO_CHANNEL_CONF\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_load_sample *****\n ALLEGRO_SAMPLE *al_load_sample(const char *filename)\n-ALLEGRO_SAMPLE *al_load_sample(const char *filename)\n Source_Code\n Loads a few different audio file formats based on their extension.\n Note that this stores the entire file in memory at once, which may be time\n consuming. To read the file as it is needed, use al_load_audio_stream or\n al_play_audio_stream.\n Returns the sample on success, NULL on failure.\n Note: the allegro_audio library does not support any audio file\n@@ -465,15 +446,14 @@\n See also: al_register_sample_loader, al_init_acodec_addon\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_load_sample_f *****\n ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident)\n-ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident)\n Source_Code\n Loads an audio file from an ALLEGRO_FILE stream into an ALLEGRO_SAMPLE. The\n file type is determined by the passed \u00e2\u0080\u0098ident\u00e2\u0080\u0099 parameter, which is a file\n name extension including the leading dot.\n Note that this stores the entire file in memory at once, which may be time\n consuming. To read the file as it is needed, use al_load_audio_stream_f or\n al_play_audio_stream_f.\n@@ -481,78 +461,70 @@\n afterwards.\n Note: the allegro_audio library does not support any audio file\n formats by default. You must use the allegro_acodec addon, or\n register your own format handler.\n See also: al_register_sample_loader_f, al_init_acodec_addon\n ***** al_save_sample *****\n bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl)\n-bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl)\n Source_Code\n Writes a sample into a file. Currently, wav is the only supported format, and\n the extension must be \u00e2\u0080\u009c.wav\u00e2\u0080\u009d.\n Returns true on success, false on error.\n Note: the allegro_audio library does not support any audio file\n formats by default. You must use the allegro_acodec addon, or\n register your own format handler.\n See also: al_save_sample_f, al_register_sample_saver, al_init_acodec_addon\n ***** al_save_sample_f *****\n bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl)\n-bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl)\n Source_Code\n Writes a sample into a ALLEGRO_FILE filestream. Currently, wav is the only\n supported format, and the extension must be \u00e2\u0080\u009c.wav\u00e2\u0080\u009d.\n Returns true on success, false on error. The file remains open afterwards.\n Note: the allegro_audio library does not support any audio file\n formats by default. You must use the allegro_acodec addon, or\n register your own format handler.\n See also: al_save_sample, al_register_sample_saver_f, al_init_acodec_addon\n ***** al_destroy_sample *****\n void al_destroy_sample(ALLEGRO_SAMPLE *spl)\n-void al_destroy_sample(ALLEGRO_SAMPLE *spl)\n Source_Code\n Free the sample data structure. If it was created with the free_buf parameter\n set to true, then the buffer will be freed with al_free.\n This function will stop any sample instances which may be playing the buffer\n referenced by the ALLEGRO_SAMPLE.\n See also: al_destroy_sample_instance, al_stop_sample, al_stop_samples\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_get_sample_channels *****\n ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl)\n-ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl)\n Source_Code\n Return the channel configuration of the sample.\n See also: ALLEGRO_CHANNEL_CONF, al_get_sample_depth, al_get_sample_frequency,\n al_get_sample_length, al_get_sample_data\n ***** al_get_sample_depth *****\n ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl)\n-ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl)\n Source_Code\n Return the audio depth of the sample.\n See also: ALLEGRO_AUDIO_DEPTH, al_get_sample_channels, al_get_sample_frequency,\n al_get_sample_length, al_get_sample_data\n ***** al_get_sample_frequency *****\n unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl)\n-unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl)\n Source_Code\n Return the frequency (in Hz) of the sample.\n See also: al_get_sample_channels, al_get_sample_depth, al_get_sample_length,\n al_get_sample_data\n ***** al_get_sample_length *****\n unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl)\n-unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl)\n Source_Code\n Return the length of the sample in sample values.\n See also: al_get_sample_channels, al_get_sample_depth, al_get_sample_frequency,\n al_get_sample_data\n ***** al_get_sample_data *****\n void *al_get_sample_data(const ALLEGRO_SAMPLE *spl)\n-void *al_get_sample_data(const ALLEGRO_SAMPLE *spl)\n Source_Code\n Return a pointer to the raw sample data.\n See also: al_get_sample_channels, al_get_sample_depth, al_get_sample_frequency,\n al_get_sample_length\n Examples:\n * ex_audio_timer.c\n ****** Advanced Audio ******\n@@ -626,15 +598,14 @@\n al_play_sample is called, it\u00e2\u0080\u0099ll use one of these internal sample instances\n that is not currently playing to play the requested sample. All of these sample\n instances will be attached to the default mixer, which can be changed via\n al_set_default_mixer.\n ****** Sample instances ******\n ***** ALLEGRO_SAMPLE_INSTANCE *****\n typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE;\n-typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE;\n Source_Code\n An ALLEGRO_SAMPLE_INSTANCE object represents a playable instance of a\n predefined sound effect. It holds information about how the effect should be\n played: These playback parameters consist of the looping mode, loop start/end\n points, playing position, speed, gain, pan and the playmode. Whether a sample\n instance is currently playing or paused is also one of its properties.\n An instance uses the data from an ALLEGRO_SAMPLE object. Multiple instances may\n@@ -645,178 +616,155 @@\n See also: ALLEGRO_SAMPLE\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_create_sample_instance *****\n ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data)\n-ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data)\n Source_Code\n Creates a sample instance, using the supplied sample data. The instance must be\n attached to a mixer (or voice) in order to actually produce output.\n The argument may be NULL. You can then set the sample data later with\n al_set_sample.\n See also: al_destroy_sample_instance\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_destroy_sample_instance *****\n void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Detaches the sample instance from anything it may be attached to and frees it\n (the sample data, i.e.\u00c2\u00a0its ALLEGRO_SAMPLE, is not freed!).\n See also: al_create_sample_instance\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_play_sample_instance *****\n bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Play the sample instance. Returns true on success, false on failure.\n See also: al_stop_sample_instance\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_stop_sample_instance *****\n bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Stop an sample instance playing.\n See also: al_play_sample_instance\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_get_sample_instance_channels *****\n ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels(\n const ALLEGRO_SAMPLE_INSTANCE *spl)\n-ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels(\n- const ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Return the channel configuration of the sample instance\u00e2\u0080\u0099s sample data.\n See also: ALLEGRO_CHANNEL_CONF.\n Examples:\n * ex_kcm_direct.c\n * ex_acodec.c\n ***** al_get_sample_instance_depth *****\n ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE\n *spl)\n-ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE\n-*spl)\n Source_Code\n Return the audio depth of the sample instance\u00e2\u0080\u0099s sample data.\n See also: ALLEGRO_AUDIO_DEPTH.\n Examples:\n * ex_kcm_direct.c\n ***** al_get_sample_instance_frequency *****\n unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE\n *spl)\n-unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE\n-*spl)\n Source_Code\n Return the frequency (in Hz) of the sample instance\u00e2\u0080\u0099s sample data.\n Examples:\n * ex_kcm_direct.c\n ***** al_get_sample_instance_length *****\n unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Return the length of the sample instance in sample values. This property may\n differ from the length of the instance\u00e2\u0080\u0099s sample data.\n See also: al_set_sample_instance_length, al_get_sample_instance_time\n Examples:\n * ex_audio_props.cpp\n * ex_audio_simple.c\n ***** al_set_sample_instance_length *****\n bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl,\n unsigned int val)\n-bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl,\n- unsigned int val)\n Source_Code\n Set the length of the sample instance in sample values. This can be used to\n play only parts of the underlying sample. Be careful not to exceed the actual\n length of the sample data, though.\n Return true on success, false on failure. Will fail if the sample instance is\n currently playing.\n See also: al_get_sample_instance_length\n Examples:\n * ex_audio_props.cpp\n ***** al_get_sample_instance_position *****\n unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE\n *spl)\n-unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE\n-*spl)\n Source_Code\n Get the playback position of a sample instance.\n See also: al_set_sample_instance_position\n Examples:\n * ex_audio_chain.cpp\n ***** al_set_sample_instance_position *****\n bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl,\n unsigned int val)\n-bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl,\n- unsigned int val)\n Source_Code\n Set the playback position of a sample instance.\n Returns true on success, false on failure.\n See also: al_get_sample_instance_position\n Examples:\n * ex_audio_simple.c\n * ex_audio_chain.cpp\n ***** al_get_sample_instance_speed *****\n float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Return the relative playback speed of the sample instance.\n See also: al_set_sample_instance_speed\n ***** al_set_sample_instance_speed *****\n bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n-bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n Source_Code\n Set the relative playback speed of the sample instance. 1.0 means normal speed.\n Return true on success, false on failure. Will fail if the sample instance is\n attached directly to a voice.\n See also: al_get_sample_instance_speed\n Examples:\n * ex_audio_props.cpp\n * ex_audio_simple.c\n ***** al_get_sample_instance_gain *****\n float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Return the playback gain of the sample instance.\n See also: al_set_sample_instance_gain\n Examples:\n * ex_audio_chain.cpp\n ***** al_set_sample_instance_gain *****\n bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n-bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n Source_Code\n Set the playback gain of the sample instance.\n Returns true on success, false on failure. Will fail if the sample instance is\n attached directly to a voice.\n See also: al_get_sample_instance_gain\n Examples:\n * ex_mixer_chain.c\n * ex_acodec.c\n * ex_audio_props.cpp\n ***** al_get_sample_instance_pan *****\n float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Get the pan value of the sample instance.\n See also: al_set_sample_instance_pan.\n ***** al_set_sample_instance_pan *****\n bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n-bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n Source_Code\n Set the pan value on a sample instance. A value of -1.0 means to play the\n sample only through the left speaker; +1.0 means only through the right\n speaker; 0.0 means the sample is centre balanced. A special value\n ALLEGRO_AUDIO_PAN_NONE disables panning and plays the sample at its original\n level. This will be louder than a pan value of 0.0.\n Note: panning samples with more than two channels doesn\u00e2\u0080\u0099t work yet.\n@@ -824,99 +772,88 @@\n attached directly to a voice.\n See also: al_get_sample_instance_pan, ALLEGRO_AUDIO_PAN_NONE\n Examples:\n * ex_audio_props.cpp\n * ex_audio_simple.c\n ***** al_get_sample_instance_time *****\n float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Return the length of the sample instance in seconds, assuming a playback speed\n of 1.0.\n See also: al_get_sample_instance_length\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_get_sample_instance_playmode *****\n ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE\n *spl)\n-ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE\n-*spl)\n Source_Code\n Return the playback mode of the sample instance.\n See also: ALLEGRO_PLAYMODE, al_set_sample_instance_playmode\n ***** al_set_sample_instance_playmode *****\n bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl,\n ALLEGRO_PLAYMODE val)\n-bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl,\n- ALLEGRO_PLAYMODE val)\n Source_Code\n Set the playback mode of the sample instance.\n Returns true on success, false on failure.\n See also: ALLEGRO_PLAYMODE, al_get_sample_instance_playmode\n Examples:\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n * ex_acodec.c\n ***** al_get_sample_instance_playing *****\n bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Return true if the sample instance is in the playing state. This may be true\n even if the instance is not attached to anything.\n See also: al_set_sample_instance_playing\n Examples:\n * ex_audio_chain.cpp\n ***** al_set_sample_instance_playing *****\n bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val)\n-bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val)\n Source_Code\n Change whether the sample instance is playing.\n The instance does not need to be attached to anything (since: 5.1.8).\n Returns true on success, false on failure.\n See also: al_get_sample_instance_playing\n Examples:\n * ex_audio_props.cpp\n * ex_audio_chain.cpp\n ***** al_get_sample_instance_attached *****\n bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Return whether the sample instance is attached to something.\n See also: al_attach_sample_instance_to_mixer,\n al_attach_sample_instance_to_voice, al_detach_sample_instance\n ***** al_detach_sample_instance *****\n bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Detach the sample instance from whatever it\u00e2\u0080\u0099s attached to, if anything.\n Returns true on success.\n See also: al_attach_sample_instance_to_mixer,\n al_attach_sample_instance_to_voice, al_get_sample_instance_attached\n Examples:\n * ex_audio_chain.cpp\n ***** al_get_sample *****\n ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl)\n-ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl)\n Source_Code\n Return the sample data that the sample instance plays.\n Note this returns a pointer to an internal structure, not the ALLEGRO_SAMPLE\n that you may have passed to al_set_sample. However, the sample buffer of the\n returned ALLEGRO_SAMPLE will be the same as the one that was used to create the\n sample (passed to al_create_sample). You can use al_get_sample_data on the\n return value to retrieve and compare it.\n See also: al_set_sample\n Examples:\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** al_set_sample *****\n bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data)\n-bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data)\n Source_Code\n Change the sample data that a sample instance plays. This can be quite an\n involved process.\n First, the sample is stopped if it is not already.\n Next, if data is NULL, the sample is detached from its parent (if any).\n If data is not NULL, the sample may be detached and reattached to its parent\n (if any). This is not necessary if the old sample data and new sample data have\n@@ -930,16 +867,14 @@\n Examples:\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n * ex_acodec.c\n ***** al_set_sample_instance_channel_matrix *****\n bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const\n float *matrix)\n-bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const\n-float *matrix)\n Source_Code\n Set the matrix used to mix the channels coming from this instance into the\n mixer it is attached to. Normally Allegro derives the values of this matrix\n from the gain and pan settings, as well as the channel configurations of this\n instance and the mixer it is attached to, but this allows you override that\n default value. Note that if you do set gain or pan of this instance or the\n mixer it is attached to, you\u00e2\u0080\u0099ll need to call this function again.\n@@ -961,15 +896,14 @@\n Since: 5.2.3\n Unstable_API: New API.\n Examples:\n * ex_acodec.c\n ****** Audio streams ******\n ***** ALLEGRO_AUDIO_STREAM *****\n typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM;\n-typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM;\n Source_Code\n An ALLEGRO_AUDIO_STREAM object is used to stream generated audio to the sound\n device, in real-time. This is done by reading from a buffer, which is split\n into a number of fragments. Whenever a fragment has finished playing, the user\n can refill it with new data.\n As with ALLEGRO_SAMPLE_INSTANCE objects, streams store information necessary\n for playback, so you may not play the same stream multiple times\n@@ -995,17 +929,14 @@\n * ex_saw.c\n * ex_stream_file.c\n * ex_resample_test.c\n ***** al_create_audio_stream *****\n ALLEGRO_AUDIO_STREAM *al_create_audio_stream(size_t fragment_count,\n unsigned int frag_samples, unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_AUDIO_STREAM *al_create_audio_stream(size_t fragment_count,\n- unsigned int frag_samples, unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n- ALLEGRO_CHANNEL_CONF chan_conf)\n Source_Code\n Creates an ALLEGRO_AUDIO_STREAM. The stream will be set to play by default. It\n will feed audio data from a buffer, which is split into a number of fragments.\n Parameters:\n * fragment_count - How many fragments to use for the audio stream. Usually\n only two fragments are required - splitting the audio buffer in two\n halves. But it means that the only time when new data can be supplied is\n@@ -1041,16 +972,14 @@\n Examples:\n * ex_saw.c\n * ex_resample_test.c\n * ex_synth.cpp\n ***** al_load_audio_stream *****\n ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename,\n size_t buffer_count, unsigned int samples)\n-ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename,\n- size_t buffer_count, unsigned int samples)\n Source_Code\n Loads an audio file from disk as it is needed.\n Unlike regular streams, the one returned by this function need not be fed by\n the user; the library will automatically read more of the file as it is needed.\n The stream will contain buffer_count buffers with samples samples.\n The audio stream will start in the playing state. It should be attached to a\n voice or mixer to generate any output. See ALLEGRO_AUDIO_STREAM for more\n@@ -1065,17 +994,14 @@\n * ex_stream_file.c\n * ex_mixer_pp.c\n * ex_stream_seek.c\n ***** al_load_audio_stream_f *****\n ALLEGRO_AUDIO_STREAM *al_load_audio_stream_f(ALLEGRO_FILE* fp, const char\n *ident,\n size_t buffer_count, unsigned int samples)\n-ALLEGRO_AUDIO_STREAM *al_load_audio_stream_f(ALLEGRO_FILE* fp, const char\n-*ident,\n- size_t buffer_count, unsigned int samples)\n Source_Code\n Loads an audio file from ALLEGRO_FILE stream as it is needed.\n Unlike regular streams, the one returned by this function need not be fed by\n the user; the library will automatically read more of the file as it is needed.\n The stream will contain buffer_count buffers with samples samples.\n The file type is determined by the passed \u00e2\u0080\u0098ident\u00e2\u0080\u0099 parameter, which is a\n file name extension including the leading dot.\n@@ -1088,209 +1014,182 @@\n Note: the allegro_audio library does not support any audio file\n formats by default. You must use the allegro_acodec addon, or\n register your own format handler.\n See also: al_load_audio_stream, al_register_audio_stream_loader_f,\n al_init_acodec_addon\n ***** al_destroy_audio_stream *****\n void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Destroy an audio stream which was created with al_create_audio_stream or\n al_load_audio_stream.\n Note: If the stream is still attached to a mixer or voice,\n al_detach_audio_stream is automatically called on it first.\n See also: al_drain_audio_stream.\n Examples:\n * ex_saw.c\n * ex_stream_file.c\n * ex_resample_test.c\n ***** al_get_audio_stream_event_source *****\n ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source(\n ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source(\n- ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Retrieve the associated event source.\n See al_get_audio_stream_fragment for a description of the\n ALLEGRO_EVENT_AUDIO_STREAM_FRAGMENT event that audio streams emit.\n Examples:\n * ex_saw.c\n * ex_stream_file.c\n * ex_resample_test.c\n ***** al_drain_audio_stream *****\n void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n You should call this to finalise an audio stream that you will no longer be\n feeding, to wait for all pending buffers to finish playing. The stream\u00e2\u0080\u0099s\n playing state will change to false.\n See also: al_destroy_audio_stream\n Examples:\n * ex_saw.c\n * ex_resample_test.c\n * ex_record.c\n ***** al_rewind_audio_stream *****\n bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Set the streaming file playing position to the beginning. Returns true on\n success. Currently this can only be called on streams created with\n al_load_audio_stream, al_play_audio_stream, al_load_audio_stream_f or\n al_play_audio_stream_f.\n Examples:\n * ex_stream_seek.c\n ***** al_get_audio_stream_frequency *****\n unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Return the stream frequency (in Hz).\n ***** al_get_audio_stream_channels *****\n ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels(\n const ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels(\n- const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Return the stream channel configuration.\n See also: ALLEGRO_CHANNEL_CONF.\n ***** al_get_audio_stream_depth *****\n ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth(\n const ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth(\n- const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Return the stream audio depth.\n See also: ALLEGRO_AUDIO_DEPTH.\n ***** al_get_audio_stream_length *****\n unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Return the stream length in samples.\n Examples:\n * ex_stream_seek.c\n ***** al_get_audio_stream_speed *****\n float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream)\n-float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Return the relative playback speed of the stream.\n See also: al_set_audio_stream_speed.\n ***** al_set_audio_stream_speed *****\n bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val)\n-bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val)\n Source_Code\n Set the relative playback speed of the stream. 1.0 means normal speed.\n Return true on success, false on failure. Will fail if the audio stream is\n attached directly to a voice.\n See also: al_get_audio_stream_speed.\n ***** al_get_audio_stream_gain *****\n float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream)\n-float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Return the playback gain of the stream.\n See also: al_set_audio_stream_gain.\n Examples:\n * ex_audio_chain.cpp\n ***** al_set_audio_stream_gain *****\n bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val)\n-bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val)\n Source_Code\n Set the playback gain of the stream.\n Returns true on success, false on failure. Will fail if the audio stream is\n attached directly to a voice.\n See also: al_get_audio_stream_gain.\n Examples:\n * ex_synth.cpp\n * ex_audio_chain.cpp\n ***** al_get_audio_stream_pan *****\n float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream)\n-float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Get the pan value of the stream.\n See also: al_set_audio_stream_pan.\n ***** al_set_audio_stream_pan *****\n bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val)\n-bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val)\n Source_Code\n Set the pan value on an audio stream. A value of -1.0 means to play the stream\n only through the left speaker; +1.0 means only through the right speaker; 0.0\n means the sample is centre balanced. A special value ALLEGRO_AUDIO_PAN_NONE\n disables panning and plays the stream at its original level. This will be\n louder than a pan value of 0.0.\n Returns true on success, false on failure. Will fail if the audio stream is\n attached directly to a voice.\n See also: al_get_audio_stream_pan, ALLEGRO_AUDIO_PAN_NONE\n Examples:\n * ex_synth.cpp\n ***** al_get_audio_stream_playing *****\n bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream)\n-bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Return true if the stream is playing.\n See also: al_set_audio_stream_playing.\n Examples:\n * ex_record.c\n * ex_stream_seek.c\n * ex_audio_chain.cpp\n ***** al_set_audio_stream_playing *****\n bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val)\n-bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val)\n Source_Code\n Change whether the stream is playing.\n Returns true on success, false on failure.\n See also: al_get_audio_stream_playing\n Examples:\n * ex_audio_simple.c\n * ex_record.c\n * ex_stream_seek.c\n ***** al_get_audio_stream_playmode *****\n ALLEGRO_PLAYMODE al_get_audio_stream_playmode(\n const ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_PLAYMODE al_get_audio_stream_playmode(\n- const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Return the playback mode of the stream.\n See also: ALLEGRO_PLAYMODE, al_set_audio_stream_playmode.\n ***** al_set_audio_stream_playmode *****\n bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream,\n ALLEGRO_PLAYMODE val)\n-bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream,\n- ALLEGRO_PLAYMODE val)\n Source_Code\n Set the playback mode of the stream.\n Returns true on success, false on failure.\n See also: ALLEGRO_PLAYMODE, al_get_audio_stream_playmode.\n Examples:\n * ex_stream_file.c\n * ex_mixer_pp.c\n * ex_stream_seek.c\n ***** al_get_audio_stream_attached *****\n bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream)\n-bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Return whether the stream is attached to something.\n See also: al_attach_audio_stream_to_mixer, al_attach_audio_stream_to_voice,\n al_detach_audio_stream.\n ***** al_detach_audio_stream *****\n bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Detach the stream from whatever it\u00e2\u0080\u0099s attached to, if anything.\n See also: al_attach_audio_stream_to_mixer, al_attach_audio_stream_to_voice,\n al_get_audio_stream_attached.\n Examples:\n * ex_audio_chain.cpp\n ***** al_get_audio_stream_played_samples *****\n uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream)\n-uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Get the number of samples consumed by the parent since the audio stream was\n started.\n Since: 5.1.8\n ***** al_get_audio_stream_fragment *****\n void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)\n-void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n When using Allegro\u00e2\u0080\u0099s audio streaming, you will use this function to\n continuously provide new sample data to a stream.\n If the stream is ready for new data, the function will return the address of an\n internal buffer to be filled with audio data. The length and format of the\n buffer are specified with al_create_audio_stream or can be queried with the\n various functions described here. Once the buffer is filled, you must signal\n@@ -1306,75 +1205,66 @@\n al_get_audio_stream_depth, al_get_audio_stream_length\n Examples:\n * ex_saw.c\n * ex_resample_test.c\n * ex_synth.cpp\n ***** al_set_audio_stream_fragment *****\n bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val)\n-bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val)\n Source_Code\n This function needs to be called for every successful call of\n al_get_audio_stream_fragment to indicate that the buffer (pointed to by val) is\n filled with new data.\n See also: al_get_audio_stream_fragment\n Examples:\n * ex_saw.c\n * ex_resample_test.c\n * ex_synth.cpp\n ***** al_get_audio_stream_fragments *****\n unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Returns the number of fragments this stream uses. This is the same value as\n passed to al_create_audio_stream when a new stream is created.\n See also: al_get_available_audio_stream_fragments\n ***** al_get_available_audio_stream_fragments *****\n unsigned int al_get_available_audio_stream_fragments(\n const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_available_audio_stream_fragments(\n- const ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Returns the number of available fragments in the stream, that is, fragments\n which are not currently filled with data for playback.\n See also: al_get_audio_stream_fragment, al_get_audio_stream_fragments\n ***** al_seek_audio_stream_secs *****\n bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time)\n-bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time)\n Source_Code\n Set the streaming file playing position to time. Returns true on success.\n Currently this can only be called on streams created with al_load_audio_stream,\n al_play_audio_stream, al_load_audio_stream_f or al_play_audio_stream_f.\n See also: al_get_audio_stream_position_secs, al_get_audio_stream_length_secs\n Examples:\n * ex_stream_seek.c\n ***** al_get_audio_stream_position_secs *****\n double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream)\n-double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Return the position of the stream in seconds. Currently this can only be called\n on streams created with al_load_audio_stream, al_play_audio_stream,\n al_load_audio_stream_f or al_play_audio_stream_f.\n See also: al_get_audio_stream_length_secs\n Examples:\n * ex_stream_seek.c\n ***** al_get_audio_stream_length_secs *****\n double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream)\n-double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream)\n Source_Code\n Return the length of the stream in seconds, if known. Otherwise returns zero.\n Currently this can only be called on streams created with al_load_audio_stream,\n al_play_audio_stream, al_load_audio_stream_f or al_play_audio_stream_f.\n See also: al_get_audio_stream_position_secs\n Examples:\n * ex_stream_seek.c\n ***** al_set_audio_stream_loop_secs *****\n bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream,\n double start, double end)\n-bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream,\n- double start, double end)\n Source_Code\n Sets the loop points for the stream in seconds. Currently this can only be\n called on streams created with al_load_audio_stream, al_play_audio_stream,\n al_load_audio_stream_f or al_play_audio_stream_f.\n Examples:\n * ex_stream_seek.c\n ***** al_set_audio_stream_channel_matrix *****\n@@ -1382,105 +1272,89 @@\n Like al_set_sample_instance_channel_matrix but for streams.\n Since: 5.2.3\n Unstable_API: New API.\n ****** Advanced audio file I/O ******\n ***** al_register_sample_loader *****\n bool al_register_sample_loader(const char *ext,\n ALLEGRO_SAMPLE *(*loader)(const char *filename))\n-bool al_register_sample_loader(const char *ext,\n- ALLEGRO_SAMPLE *(*loader)(const char *filename))\n Source_Code\n Register a handler for al_load_sample. The given function will be used to\n handle the loading of sample files with the given extension.\n The extension should include the leading dot (\u00e2\u0080\u0098.\u00e2\u0080\u0099) character. It will be\n matched case-insensitively.\n The loader argument may be NULL to unregister an entry.\n Returns true on success, false on error. Returns false if unregistering an\n entry that doesn\u00e2\u0080\u0099t exist.\n See also: al_register_sample_loader_f, al_register_sample_saver\n ***** al_register_sample_loader_f *****\n bool al_register_sample_loader_f(const char *ext,\n ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp))\n-bool al_register_sample_loader_f(const char *ext,\n- ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp))\n Source_Code\n Register a handler for al_load_sample_f. The given function will be used to\n handle the loading of sample files with the given extension.\n The extension should include the leading dot (\u00e2\u0080\u0098.\u00e2\u0080\u0099) character. It will be\n matched case-insensitively.\n The loader argument may be NULL to unregister an entry.\n Returns true on success, false on error. Returns false if unregistering an\n entry that doesn\u00e2\u0080\u0099t exist.\n See also: al_register_sample_loader\n ***** al_register_sample_saver *****\n bool al_register_sample_saver(const char *ext,\n bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl))\n-bool al_register_sample_saver(const char *ext,\n- bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl))\n Source_Code\n Register a handler for al_save_sample. The given function will be used to\n handle the saving of sample files with the given extension.\n The extension should include the leading dot (\u00e2\u0080\u0098.\u00e2\u0080\u0099) character. It will be\n matched case-insensitively.\n The saver argument may be NULL to unregister an entry.\n Returns true on success, false on error. Returns false if unregistering an\n entry that doesn\u00e2\u0080\u0099t exist.\n See also: al_register_sample_saver_f, al_register_sample_loader\n ***** al_register_sample_saver_f *****\n bool al_register_sample_saver_f(const char *ext,\n bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl))\n-bool al_register_sample_saver_f(const char *ext,\n- bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl))\n Source_Code\n Register a handler for al_save_sample_f. The given function will be used to\n handle the saving of sample files with the given extension.\n The extension should include the leading dot (\u00e2\u0080\u0098.\u00e2\u0080\u0099) character. It will be\n matched case-insensitively.\n The saver argument may be NULL to unregister an entry.\n Returns true on success, false on error. Returns false if unregistering an\n entry that doesn\u00e2\u0080\u0099t exist.\n See also: al_register_sample_saver\n ***** al_register_audio_stream_loader *****\n bool al_register_audio_stream_loader(const char *ext,\n ALLEGRO_AUDIO_STREAM *(*stream_loader)(const char *filename,\n size_t buffer_count, unsigned int samples))\n-bool al_register_audio_stream_loader(const char *ext,\n- ALLEGRO_AUDIO_STREAM *(*stream_loader)(const char *filename,\n- size_t buffer_count, unsigned int samples))\n Source_Code\n Register a handler for al_load_audio_stream and al_play_audio_stream. The given\n function will be used to open streams from files with the given extension.\n The extension should include the leading dot (\u00e2\u0080\u0098.\u00e2\u0080\u0099) character. It will be\n matched case-insensitively.\n The stream_loader argument may be NULL to unregister an entry.\n Returns true on success, false on error. Returns false if unregistering an\n entry that doesn\u00e2\u0080\u0099t exist.\n See also: al_register_audio_stream_loader_f\n ***** al_register_audio_stream_loader_f *****\n bool al_register_audio_stream_loader_f(const char *ext,\n ALLEGRO_AUDIO_STREAM *(*stream_loader)(ALLEGRO_FILE* fp,\n size_t buffer_count, unsigned int samples))\n-bool al_register_audio_stream_loader_f(const char *ext,\n- ALLEGRO_AUDIO_STREAM *(*stream_loader)(ALLEGRO_FILE* fp,\n- size_t buffer_count, unsigned int samples))\n Source_Code\n Register a handler for al_load_audio_stream_f and al_play_audio_stream_f. The\n given function will be used to open streams from files with the given\n extension.\n The extension should include the leading dot (\u00e2\u0080\u0098.\u00e2\u0080\u0099) character. It will be\n matched case-insensitively.\n The stream_loader argument may be NULL to unregister an entry.\n Returns true on success, false on error. Returns false if unregistering an\n entry that doesn\u00e2\u0080\u0099t exist.\n See also: al_register_audio_stream_loader\n ***** al_register_sample_identifier *****\n bool al_register_sample_identifier(const char *ext,\n bool (*identifier)(ALLEGRO_FILE* fp))\n-bool al_register_sample_identifier(const char *ext,\n- bool (*identifier)(ALLEGRO_FILE* fp))\n Source_Code\n Register an identify handler for al_identify_sample. The given function will be\n used to detect files for the given extension. It will be called with a single\n argument of type ALLEGRO_FILE which is a file handle opened for reading and\n located at the first byte of the file. The handler should try to read as few\n bytes as possible to safely determine if the given file contents correspond to\n the type with the extension and return true in that case, false otherwise. The\n@@ -1491,25 +1365,23 @@\n The identifier argument may be NULL to unregister an entry.\n Returns true on success, false on error. Returns false if unregistering an\n entry that doesn\u00e2\u0080\u0099t exist.\n Since: 5.2.8\n See also: al_identify_bitmap\n ***** al_identify_sample *****\n char const *al_identify_sample(char const *filename)\n-char const *al_identify_sample(char const *filename)\n Source_Code\n This works exactly as al_identify_sample_f but you specify the filename of the\n file for which to detect the type and not a file handle. The extension, if any,\n of the passed filename is not taken into account - only the file contents.\n Since: 5.2.8\n See also: al_init_acodec_addon, al_identify_sample_f,\n al_register_sample_identifier\n ***** al_identify_sample_f *****\n char const *al_identify_sample_f(ALLEGRO_FILE *fp)\n-char const *al_identify_sample_f(ALLEGRO_FILE *fp)\n Source_Code\n Tries to guess the audio file type of the open ALLEGRO_FILE by reading the\n first few bytes. By default Allegro cannot recognize any file types, but\n calling al_init_acodec_addon will add detection of the types it can read. You\n can also use al_register_sample_identifier to add identification for custom\n file types.\n Returns a pointer to a static string with a file extension for the type,\n@@ -1524,25 +1396,23 @@\n specific implementation details with its own buffering, it will add a small\n amount of latency. However, for most applications that small overhead will not\n adversely affect performance.\n Recording is supported by the ALSA, AudioQueue, DirectSound8, and PulseAudio\n drivers. Enumerating or choosing other recording devices is not yet supported.\n ***** ALLEGRO_AUDIO_RECORDER *****\n typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER;\n-typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER;\n Source_Code\n An opaque datatype that represents a recording device.\n Since: 5.1.1\n Unstable_API: The API may need a slight redesign.\n Examples:\n * ex_record_name.c\n * ex_record.c\n ***** ALLEGRO_AUDIO_RECORDER_EVENT *****\n typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT;\n-typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT;\n Source_Code\n Structure that holds the audio recorder event data. Every event type will\n contain:\n * .source: pointer to the audio recorder\n The following will be available depending on the event type:\n * .buffer: pointer to buffer containing the audio samples\n * .samples: number of samples (not bytes) that are available\n@@ -1552,17 +1422,14 @@\n Examples:\n * ex_record_name.c\n * ex_record.c\n ***** al_create_audio_recorder *****\n ALLEGRO_AUDIO_RECORDER *al_create_audio_recorder(size_t fragment_count,\n unsigned int samples, unsigned int frequency,\n ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_AUDIO_RECORDER *al_create_audio_recorder(size_t fragment_count,\n- unsigned int samples, unsigned int frequency,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n Source_Code\n Creates an audio recorder using the system\u00e2\u0080\u0099s default recording device. (So if\n the returned device does not work, try updating the system\u00e2\u0080\u0099s default\n recording device.)\n Allegro will internally buffer several seconds of captured audio with minimal\n latency. (XXX: These settings need to be exposed via config or API calls.)\n Audio will be copied out of that private buffer into a fragment buffer of the\n@@ -1586,133 +1453,119 @@\n Since: 5.1.1\n Unstable_API: The API may need a slight redesign.\n Examples:\n * ex_record_name.c\n * ex_record.c\n ***** al_start_audio_recorder *****\n bool al_start_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n-bool al_start_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n Source_Code\n Begin recording into the fragment buffer. Once a complete fragment has been\n captured (as specified in al_create_audio_recorder), an\n ALLEGRO_EVENT_AUDIO_RECORDER_FRAGMENT event will be triggered.\n Returns true if it was able to begin recording.\n Since: 5.1.1\n Unstable_API: The API may need a slight redesign.\n Examples:\n * ex_record_name.c\n * ex_record.c\n ***** al_stop_audio_recorder *****\n void al_stop_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n-void al_stop_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n Source_Code\n Stop capturing audio data. Note that the audio recorder is still active and\n consuming resources, so if you are finished recording you should destroy it\n with al_destroy_audio_recorder.\n You may still receive a few events after you call this function as the device\n flushes the buffer.\n If you restart the recorder, it will begin recording at the beginning of the\n next fragment buffer.\n Since: 5.1.1\n Unstable_API: The API may need a slight redesign.\n ***** al_is_audio_recorder_recording *****\n bool al_is_audio_recorder_recording(ALLEGRO_AUDIO_RECORDER *r)\n-bool al_is_audio_recorder_recording(ALLEGRO_AUDIO_RECORDER *r)\n Source_Code\n Returns true if the audio recorder is currently capturing data and generating\n events.\n Since: 5.1.1\n Unstable_API: The API may need a slight redesign.\n ***** al_get_audio_recorder_event *****\n ALLEGRO_AUDIO_RECORDER_EVENT *al_get_audio_recorder_event(ALLEGRO_EVENT *event)\n-ALLEGRO_AUDIO_RECORDER_EVENT *al_get_audio_recorder_event(ALLEGRO_EVENT *event)\n Source_Code\n Returns the event as an ALLEGRO_AUDIO_RECORDER_EVENT.\n Since: 5.1.1\n Unstable_API: The API may need a slight redesign.\n Examples:\n * ex_record_name.c\n * ex_record.c\n ***** al_get_audio_recorder_event_source *****\n ALLEGRO_EVENT_SOURCE *al_get_audio_recorder_event_source(ALLEGRO_AUDIO_RECORDER\n *r)\n-ALLEGRO_EVENT_SOURCE *al_get_audio_recorder_event_source(ALLEGRO_AUDIO_RECORDER\n-*r)\n Source_Code\n Returns the event source for the recorder that generates the various recording\n events.\n Since: 5.1.1\n Unstable_API: The API may need a slight redesign.\n Examples:\n * ex_record_name.c\n * ex_record.c\n ***** al_destroy_audio_recorder *****\n void al_destroy_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n-void al_destroy_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n Source_Code\n Destroys the audio recorder and frees all resources associated with it. It is\n safe to destroy a recorder that is recording.\n You may receive events after the recorder has been destroyed. They must be\n ignored, as the fragment buffer will no longer be valid.\n Since: 5.1.1\n Unstable_API: The API may need a slight redesign.\n Examples:\n * ex_record_name.c\n * ex_record.c\n ****** Audio devices ******\n ***** ALLEGRO_AUDIO_DEVICE *****\n typedef struct ALLEGRO_AUDIO_DEVICE ALLEGRO_AUDIO_DEVICE;\n-typedef struct ALLEGRO_AUDIO_DEVICE ALLEGRO_AUDIO_DEVICE;\n Source_Code\n An opaque datatype that represents an audio device.\n Examples:\n * ex_audio_devices.c\n ***** al_get_num_audio_output_devices *****\n int al_get_num_audio_output_devices()\n-int al_get_num_audio_output_devices()\n Source_Code\n Get the number of available audio output devices on the system.\n Since: 5.2.8\n return -1 for unsupported drivers.\n Examples:\n * ex_audio_devices.c\n ***** al_get_audio_output_device *****\n const ALLEGRO_AUDIO_DEVICE* al_get_audio_output_device(int index)\n-const ALLEGRO_AUDIO_DEVICE* al_get_audio_output_device(int index)\n Source_Code\n Get the output audio device of the specified index.\n Since: 5.2.8\n Examples:\n * ex_audio_devices.c\n ***** al_get_audio_device_name *****\n const char* al_get_audio_device_name(const ALLEGRO_AUDIO_DEVICE * device)\n-const char* al_get_audio_device_name(const ALLEGRO_AUDIO_DEVICE * device)\n Source_Code\n Get the user friendly display name of the device.\n Since: 5.2.8\n Examples:\n * ex_audio_devices.c\n ****** Voices ******\n ***** ALLEGRO_VOICE *****\n typedef struct ALLEGRO_VOICE ALLEGRO_VOICE;\n-typedef struct ALLEGRO_VOICE ALLEGRO_VOICE;\n Source_Code\n A voice represents an audio device on the system, which may be a real device,\n or an abstract device provided by the operating system. To play back audio, you\n would attach a mixer, sample instance or audio stream to a voice.\n See also: ALLEGRO_MIXER, ALLEGRO_SAMPLE, ALLEGRO_AUDIO_STREAM\n Examples:\n * ex_stream_file.c\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n ***** al_create_voice *****\n ALLEGRO_VOICE *al_create_voice(unsigned int freq,\n ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_VOICE *al_create_voice(unsigned int freq,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n Source_Code\n Creates a voice structure and allocates a voice from the digital sound driver.\n The passed frequency (in Hz), sample format and channel configuration are used\n as a hint to what kind of data will be sent to the voice. However, the\n underlying sound driver is free to use non-matching values. For example, it may\n be the native format of the sound hardware.\n If a mixer is attached to the voice, the mixer will handle the conversion of\n@@ -1725,35 +1578,31 @@\n See also: al_destroy_voice\n Examples:\n * ex_stream_file.c\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n ***** al_destroy_voice *****\n void al_destroy_voice(ALLEGRO_VOICE *voice)\n-void al_destroy_voice(ALLEGRO_VOICE *voice)\n Source_Code\n Destroys the voice and deallocates it from the digital driver. Does nothing if\n the voice is NULL.\n See also: al_create_voice\n Examples:\n * ex_stream_file.c\n * ex_acodec_multi.c\n * ex_kcm_direct.c\n ***** al_detach_voice *****\n void al_detach_voice(ALLEGRO_VOICE *voice)\n-void al_detach_voice(ALLEGRO_VOICE *voice)\n Source_Code\n Detaches the mixer, sample instance or audio stream from the voice.\n See also: al_attach_mixer_to_voice, al_attach_sample_instance_to_voice,\n al_attach_audio_stream_to_voice\n ***** al_attach_audio_stream_to_voice *****\n bool al_attach_audio_stream_to_voice(ALLEGRO_AUDIO_STREAM *stream,\n ALLEGRO_VOICE *voice)\n-bool al_attach_audio_stream_to_voice(ALLEGRO_AUDIO_STREAM *stream,\n- ALLEGRO_VOICE *voice)\n Source_Code\n Attaches an audio stream to a voice. The same rules as\n al_attach_sample_instance_to_voice apply. This may fail if the driver can\u00e2\u0080\u0099t\n create a voice with the buffer count and buffer size the stream uses.\n An audio stream attached directly to a voice has a number of limitations: The\n audio stream plays immediately and cannot be stopped. The stream position,\n speed, gain and panning cannot be changed. At this time, we don\u00e2\u0080\u0099t recommend\n@@ -1761,29 +1610,26 @@\n Returns true on success, false on failure.\n See also: al_detach_voice\n Examples:\n * ex_stream_file.c\n * ex_audio_chain.cpp\n ***** al_attach_mixer_to_voice *****\n bool al_attach_mixer_to_voice(ALLEGRO_MIXER *mixer, ALLEGRO_VOICE *voice)\n-bool al_attach_mixer_to_voice(ALLEGRO_MIXER *mixer, ALLEGRO_VOICE *voice)\n Source_Code\n Attaches a mixer to a voice. It must have the same frequency and channel\n configuration, but the depth may be different.\n Returns true on success, false on failure.\n See also: al_detach_voice\n Examples:\n * ex_stream_file.c\n * ex_acodec_multi.c\n * ex_mixer_chain.c\n ***** al_attach_sample_instance_to_voice *****\n bool al_attach_sample_instance_to_voice(ALLEGRO_SAMPLE_INSTANCE *spl,\n ALLEGRO_VOICE *voice)\n-bool al_attach_sample_instance_to_voice(ALLEGRO_SAMPLE_INSTANCE *spl,\n- ALLEGRO_VOICE *voice)\n Source_Code\n Attaches a sample instance to a voice, and allows it to play. The instance\u00e2\u0080\u0099s\n gain and loop mode will be ignored, and it must have the same frequency,\n channel configuration and depth (including signed-ness) as the voice. This\n function may fail if the selected driver doesn\u00e2\u0080\u0099t support preloading sample\n data.\n At this time, we don\u00e2\u0080\u0099t recommend attaching sample instances directly to\n@@ -1791,67 +1637,59 @@\n Returns true on success, false on failure.\n See also: al_detach_voice\n Examples:\n * ex_kcm_direct.c\n * ex_audio_chain.cpp\n ***** al_get_voice_frequency *****\n unsigned int al_get_voice_frequency(const ALLEGRO_VOICE *voice)\n-unsigned int al_get_voice_frequency(const ALLEGRO_VOICE *voice)\n Source_Code\n Return the frequency of the voice (in Hz), e.g.\u00c2\u00a044100.\n ***** al_get_voice_channels *****\n ALLEGRO_CHANNEL_CONF al_get_voice_channels(const ALLEGRO_VOICE *voice)\n-ALLEGRO_CHANNEL_CONF al_get_voice_channels(const ALLEGRO_VOICE *voice)\n Source_Code\n Return the channel configuration of the voice.\n See also: ALLEGRO_CHANNEL_CONF.\n ***** al_get_voice_depth *****\n ALLEGRO_AUDIO_DEPTH al_get_voice_depth(const ALLEGRO_VOICE *voice)\n-ALLEGRO_AUDIO_DEPTH al_get_voice_depth(const ALLEGRO_VOICE *voice)\n Source_Code\n Return the audio depth of the voice.\n See also: ALLEGRO_AUDIO_DEPTH.\n ***** al_get_voice_playing *****\n bool al_get_voice_playing(const ALLEGRO_VOICE *voice)\n-bool al_get_voice_playing(const ALLEGRO_VOICE *voice)\n Source_Code\n Return true if the voice is currently playing.\n See also: al_set_voice_playing\n Examples:\n * ex_audio_chain.cpp\n ***** al_set_voice_playing *****\n bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val)\n-bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val)\n Source_Code\n Change whether a voice is playing or not. This can only work if the voice has a\n non-streaming object attached to it, e.g.\u00c2\u00a0a sample instance. On success the\n voice\u00e2\u0080\u0099s current sample position is reset.\n Returns true on success, false on failure.\n See also: al_get_voice_playing\n Examples:\n * ex_audio_chain.cpp\n ***** al_get_voice_position *****\n-unsigned int al_get_vALLEGRO_TIMEOUT\n unsigned int al_get_voice_position(const ALLEGRO_VOICE *voice)\n Source_Code\n When the voice has a non-streaming object attached to it, e.g.\u00c2\u00a0a sample,\n returns the voice\u00e2\u0080\u0099s current sample position. Otherwise, returns zero.\n See also: al_set_voice_position.\n ***** al_set_voice_position *****\n bool al_set_voice_position(ALLEGRO_VOICE *voice, unsigned int val)\n-bool al_set_voice_position(ALLEGRO_VOICE *voice, unsigned int val)\n Source_Code\n Set the voice position. This can only work if the voice has a non-streaming\n object attached to it, e.g.\u00c2\u00a0a sample instance.\n Returns true on success, false on failure.\n See also: al_get_voice_position.\n ****** Mixers ******\n ***** ALLEGRO_MIXER *****\n typedef struct ALLEGRO_MIXER ALLEGRO_MIXER;\n-typedef struct ALLEGRO_MIXER ALLEGRO_MIXER;\n Source_Code\n A mixer mixes together attached streams into a single buffer. In the process,\n it converts channel configurations, sample frequencies and audio depths of the\n attached sample instances and audio streams accordingly. You can control the\n quality of this conversion using ALLEGRO_MIXER_QUALITY.\n When going from mono to stereo (and above), the mixer reduces the volume of\n both channels by sqrt(2). When going from stereo (and above) to mono, the mixer\n@@ -1859,24 +1697,21 @@\n to the center channel (if present).\n Examples:\n * ex_stream_file.c\n * ex_acodec_multi.c\n * ex_mixer_chain.c\n ***** ALLEGRO_MIXER_QUALITY *****\n enum ALLEGRO_MIXER_QUALITY\n-enum ALLEGRO_MIXER_QUALITY\n Source_Code\n * ALLEGRO_MIXER_QUALITY_POINT - point sampling\n * ALLEGRO_MIXER_QUALITY_LINEAR - linear interpolation\n * ALLEGRO_MIXER_QUALITY_CUBIC - cubic interpolation (since: 5.0.8, 5.1.4)\n ***** al_create_mixer *****\n ALLEGRO_MIXER *al_create_mixer(unsigned int freq,\n ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_MIXER *al_create_mixer(unsigned int freq,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n Source_Code\n Creates a mixer to attach sample instances, audio streams, or other mixers to.\n It will mix into a buffer at the requested frequency (in Hz) and channel count.\n The only supported audio depths are ALLEGRO_AUDIO_DEPTH_FLOAT32 and\n ALLEGRO_AUDIO_DEPTH_INT16 (not yet complete).\n To actually produce any output, the mixer will have to be attached to a voice\n using al_attach_mixer_to_voice.\n@@ -1886,233 +1721,205 @@\n See also: al_destroy_mixer, ALLEGRO_AUDIO_DEPTH, ALLEGRO_CHANNEL_CONF\n Examples:\n * ex_stream_file.c\n * ex_acodec_multi.c\n * ex_mixer_chain.c\n ***** al_destroy_mixer *****\n void al_destroy_mixer(ALLEGRO_MIXER *mixer)\n-void al_destroy_mixer(ALLEGRO_MIXER *mixer)\n Source_Code\n Destroys the mixer.\n See also: al_create_mixer\n Examples:\n * ex_stream_file.c\n * ex_acodec_multi.c\n * ex_mixer_chain.c\n ***** al_get_default_mixer *****\n ALLEGRO_MIXER *al_get_default_mixer(void)\n-ALLEGRO_MIXER *al_get_default_mixer(void)\n Source_Code\n Return the default mixer, or NULL if one has not been set. Although different\n configurations of mixers and voices can be used, in most cases a single mixer\n attached to a voice is what you want. The default mixer is used by\n al_play_sample.\n See also: al_reserve_samples, al_play_sample, al_set_default_mixer,\n al_restore_default_mixer\n Examples:\n * ex_saw.c\n * ex_audio_props.cpp\n * ex_resample_test.c\n ***** al_set_default_mixer *****\n bool al_set_default_mixer(ALLEGRO_MIXER *mixer)\n-bool al_set_default_mixer(ALLEGRO_MIXER *mixer)\n Source_Code\n Sets the default mixer. All samples started with al_play_sample will be stopped\n and all sample instances returned by al_lock_sample_id will be invalidated. If\n you are using your own mixer, this should be called before al_reserve_samples.\n Returns true on success, false on error.\n See also: al_reserve_samples, al_play_sample, al_get_default_mixer,\n al_restore_default_mixer\n ***** al_restore_default_mixer *****\n bool al_restore_default_mixer(void)\n-bool al_restore_default_mixer(void)\n Source_Code\n Restores Allegro\u00e2\u0080\u0099s default mixer and attaches it to the default voice. If the\n default mixer hasn\u00e2\u0080\u0099t been created before, it will be created. If the default\n voice hasn\u00e2\u0080\u0099t been set via al_set_default_voice or created before, it will\n also be created. All samples started with al_play_sample will be stopped and\n all sample instances returned by al_lock_sample_id will be invalidated.\n Returns true on success, false on error.\n See also: al_get_default_mixer, al_set_default_mixer, al_reserve_samples.\n ***** al_get_default_voice *****\n ALLEGRO_VOICE *al_get_default_voice(void)\n-ALLEGRO_VOICE *al_get_default_voice(void)\n Source_Code\n Returns the default voice or NULL if there is none.\n Since: 5.1.13\n See also: al_get_default_mixer\n ***** al_set_default_voice *****\n void al_set_default_voice(ALLEGRO_VOICE *voice)\n-void al_set_default_voice(ALLEGRO_VOICE *voice)\n Source_Code\n You can call this before calling al_restore_default_mixer to provide the voice\n which should be used. Any previous voice will be destroyed. You can also pass\n NULL to destroy the current default voice.\n Since: 5.1.13\n See also: al_get_default_mixer\n ***** al_attach_mixer_to_mixer *****\n bool al_attach_mixer_to_mixer(ALLEGRO_MIXER *stream, ALLEGRO_MIXER *mixer)\n-bool al_attach_mixer_to_mixer(ALLEGRO_MIXER *stream, ALLEGRO_MIXER *mixer)\n Source_Code\n Attaches the mixer passed as the first argument onto the mixer passed as the\n second argument. The first mixer (that is going to be attached) must not\n already be attached to anything. Both mixers must use the same frequency, audio\n depth and channel configuration.\n Returns true on success, false on error.\n It is invalid to attach a mixer to itself.\n See also: al_detach_mixer.\n Examples:\n * ex_mixer_chain.c\n * ex_audio_chain.cpp\n ***** al_attach_sample_instance_to_mixer *****\n bool al_attach_sample_instance_to_mixer(ALLEGRO_SAMPLE_INSTANCE *spl,\n ALLEGRO_MIXER *mixer)\n-bool al_attach_sample_instance_to_mixer(ALLEGRO_SAMPLE_INSTANCE *spl,\n- ALLEGRO_MIXER *mixer)\n Source_Code\n Attach a sample instance to a mixer. The instance must not already be attached\n to anything.\n Returns true on success, false on failure.\n See also: al_detach_sample_instance.\n Examples:\n * ex_acodec_multi.c\n * ex_mixer_chain.c\n * ex_acodec.c\n ***** al_attach_audio_stream_to_mixer *****\n bool al_attach_audio_stream_to_mixer(ALLEGRO_AUDIO_STREAM *stream,\n ALLEGRO_MIXER *mixer)\n-bool al_attach_audio_stream_to_mixer(ALLEGRO_AUDIO_STREAM *stream,\n-ALLEGRO_MIXER *mixer)\n Source_Code\n Attach an audio stream to a mixer. The stream must not already be attached to\n anything.\n Returns true on success, false on failure.\n See also: al_detach_audio_stream.\n Examples:\n * ex_saw.c\n * ex_stream_file.c\n * ex_resample_test.c\n ***** al_get_mixer_frequency *****\n unsigned int al_get_mixer_frequency(const ALLEGRO_MIXER *mixer)\n-unsigned int al_get_mixer_frequency(const ALLEGRO_MIXER *mixer)\n Source_Code\n Return the mixer frequency (in Hz).\n See also: al_set_mixer_frequency\n ***** al_set_mixer_frequency *****\n bool al_set_mixer_frequency(ALLEGRO_MIXER *mixer, unsigned int val)\n-bool al_set_mixer_frequency(ALLEGRO_MIXER *mixer, unsigned int val)\n Source_Code\n Set the mixer frequency (in Hz). This will only work if the mixer is not\n attached to anything.\n Returns true on success, false on failure.\n See also: al_get_mixer_frequency\n ***** al_get_mixer_channels *****\n ALLEGRO_CHANNEL_CONF al_get_mixer_channels(const ALLEGRO_MIXER *mixer)\n-ALLEGRO_CHANNEL_CONF al_get_mixer_channels(const ALLEGRO_MIXER *mixer)\n Source_Code\n Return the mixer channel configuration.\n See also: ALLEGRO_CHANNEL_CONF.\n Examples:\n * ex_synth.cpp\n ***** al_get_mixer_depth *****\n ALLEGRO_AUDIO_DEPTH al_get_mixer_depth(const ALLEGRO_MIXER *mixer)\n-ALLEGRO_AUDIO_DEPTH al_get_mixer_depth(const ALLEGRO_MIXER *mixer)\n Source_Code\n Return the mixer audio depth.\n See also: ALLEGRO_AUDIO_DEPTH.\n Examples:\n * ex_synth.cpp\n ***** al_get_mixer_gain *****\n float al_get_mixer_gain(const ALLEGRO_MIXER *mixer)\n-float al_get_mixer_gain(const ALLEGRO_MIXER *mixer)\n Source_Code\n Return the mixer gain (amplification factor). The default is 1.0.\n Since: 5.0.6, 5.1.0\n See also: al_set_mixer_gain.\n Examples:\n * ex_audio_chain.cpp\n ***** al_set_mixer_gain *****\n bool al_set_mixer_gain(ALLEGRO_MIXER *mixer, float new_gain)\n-bool al_set_mixer_gain(ALLEGRO_MIXER *mixer, float new_gain)\n Source_Code\n Set the mixer gain (amplification factor).\n Returns true on success, false on failure.\n Since: 5.0.6, 5.1.0\n See also: al_get_mixer_gain\n Examples:\n * ex_audio_props.cpp\n * ex_audio_chain.cpp\n ***** al_get_mixer_quality *****\n ALLEGRO_MIXER_QUALITY al_get_mixer_quality(const ALLEGRO_MIXER *mixer)\n-ALLEGRO_MIXER_QUALITY al_get_mixer_quality(const ALLEGRO_MIXER *mixer)\n Source_Code\n Return the mixer quality.\n See also: ALLEGRO_MIXER_QUALITY, al_set_mixer_quality\n ***** al_set_mixer_quality *****\n bool al_set_mixer_quality(ALLEGRO_MIXER *mixer, ALLEGRO_MIXER_QUALITY\n new_quality)\n-bool al_set_mixer_quality(ALLEGRO_MIXER *mixer, ALLEGRO_MIXER_QUALITY\n-new_quality)\n Source_Code\n Set the mixer quality. This can only succeed if the mixer does not have\n anything attached to it.\n Returns true on success, false on failure.\n See also: ALLEGRO_MIXER_QUALITY, al_get_mixer_quality\n ***** al_get_mixer_playing *****\n bool al_get_mixer_playing(const ALLEGRO_MIXER *mixer)\n-bool al_get_mixer_playing(const ALLEGRO_MIXER *mixer)\n Source_Code\n Return true if the mixer is playing.\n See also: al_set_mixer_playing.\n Examples:\n * ex_audio_chain.cpp\n ***** al_set_mixer_playing *****\n bool al_set_mixer_playing(ALLEGRO_MIXER *mixer, bool val)\n-bool al_set_mixer_playing(ALLEGRO_MIXER *mixer, bool val)\n Source_Code\n Change whether the mixer is playing.\n Returns true on success, false on failure.\n See also: al_get_mixer_playing.\n Examples:\n * ex_audio_chain.cpp\n ***** al_get_mixer_attached *****\n bool al_get_mixer_attached(const ALLEGRO_MIXER *mixer)\n-bool al_get_mixer_attached(const ALLEGRO_MIXER *mixer)\n Source_Code\n Return true if the mixer is attached to something.\n See also: al_attach_sample_instance_to_mixer, al_attach_audio_stream_to_mixer,\n al_attach_mixer_to_mixer, al_detach_mixer\n ***** al_detach_mixer *****\n bool al_detach_mixer(ALLEGRO_MIXER *mixer)\n-bool al_detach_mixer(ALLEGRO_MIXER *mixer)\n Source_Code\n Detach the mixer from whatever it is attached to, if anything.\n See also: al_attach_mixer_to_mixer.\n Examples:\n * ex_audio_chain.cpp\n ***** al_set_mixer_postprocess_callback *****\n bool al_set_mixer_postprocess_callback(ALLEGRO_MIXER *mixer,\n void (*pp_callback)(void *buf, unsigned int samples, void *data),\n void *pp_callback_userdata)\n-bool al_set_mixer_postprocess_callback(ALLEGRO_MIXER *mixer,\n- void (*pp_callback)(void *buf, unsigned int samples, void *data),\n- void *pp_callback_userdata)\n Source_Code\n Sets a post-processing filter function that\u00e2\u0080\u0099s called after the attached\n streams have been mixed. The buffer\u00e2\u0080\u0099s format will be whatever the mixer was\n created with. The sample count and user-data pointer is also passed.\n Note: The callback is called from a dedicated audio thread.\n Examples:\n * ex_resample_test.c\n * ex_synth.cpp\n * ex_mixer_pp.c\n ****** Miscelaneous ******\n ***** ALLEGRO_AUDIO_DEPTH *****\n enum ALLEGRO_AUDIO_DEPTH\n-enum ALLEGRO_AUDIO_DEPTH\n Source_Code\n Sample depth and type as well as signedness. Mixers only use 32-bit signed\n float (-1..+1), or 16-bit signed integers. Signedness is determined by an\n \u00e2\u0080\u009cunsigned\u00e2\u0080\u009d bit-flag applied to the depth value.\n * ALLEGRO_AUDIO_DEPTH_INT8\n * ALLEGRO_AUDIO_DEPTH_INT16\n * ALLEGRO_AUDIO_DEPTH_INT24\n@@ -2124,30 +1931,28 @@\n * ALLEGRO_AUDIO_DEPTH_UINT24\n Examples:\n * ex_saw.c\n * ex_stream_file.c\n * ex_acodec_multi.c\n ***** ALLEGRO_AUDIO_PAN_NONE *****\n #define ALLEGRO_AUDIO_PAN_NONE (-1000.0f)\n-#define ALLEGRO_AUDIO_PAN_NONE (-1000.0f)\n Source_Code\n A special value for the pan property of sample instances and audio streams. Use\n this value to disable panning on sample instances and audio streams, and play\n them without attentuation implied by panning support.\n ALLEGRO_AUDIO_PAN_NONE is different from a pan value of 0.0 (centered) because,\n when panning is enabled, we try to maintain a constant sound power level as a\n sample is panned from left to right. A sound coming out of one speaker should\n sound as loud as it does when split over two speakers. As a consequence, a\n sample with pan value 0.0 will be 3 dB softer than the original level.\n (Please correct us if this is wrong.)\n Examples:\n * ex_audio_props.cpp\n ***** ALLEGRO_CHANNEL_CONF *****\n enum ALLEGRO_CHANNEL_CONF\n-enum ALLEGRO_CHANNEL_CONF\n Source_Code\n Speaker configuration (mono, stereo, 2.1, etc).\n * ALLEGRO_CHANNEL_CONF_1\n * ALLEGRO_CHANNEL_CONF_2\n * ALLEGRO_CHANNEL_CONF_3\n * ALLEGRO_CHANNEL_CONF_4\n * ALLEGRO_CHANNEL_CONF_5_1\n@@ -2155,15 +1960,14 @@\n * ALLEGRO_CHANNEL_CONF_7_1\n Examples:\n * ex_saw.c\n * ex_stream_file.c\n * ex_acodec_multi.c\n ***** ALLEGRO_PLAYMODE *****\n enum ALLEGRO_PLAYMODE\n-enum ALLEGRO_PLAYMODE\n Source_Code\n Sample and stream playback mode.\n * ALLEGRO_PLAYMODE_ONCE - the sample/stream is played from start to finish\n an then it stops.\n * ALLEGRO_PLAYMODE_LOOP - the sample/stream is played from start to finish\n (or between the two loop points). When it reaches the end, it restarts\n from the beginning.\n@@ -2176,15 +1980,14 @@\n for streams.\n Examples:\n * ex_stream_file.c\n * ex_kcm_direct.c\n * ex_mixer_chain.c\n ***** ALLEGRO_AUDIO_EVENT_TYPE *****\n enum ALLEGRO_AUDIO_EVENT_TYPE\n-enum ALLEGRO_AUDIO_EVENT_TYPE\n Source_Code\n Events sent by al_get_audio_stream_event_source or\n al_get_audio_recorder_event_source.\n **** ALLEGRO_EVENT_AUDIO_STREAM_FRAGMENT ****\n Sent when a stream fragment is ready to be filled in. See\n al_get_audio_stream_fragment.\n **** ALLEGRO_EVENT_AUDIO_STREAM_FINISHED ****\n@@ -2194,38 +1997,33 @@\n to ALLEGRO_AUDIO_RECORDER_EVENT via al_get_audio_recorder_event.\n You must always check the values for the buffer and samples as they are not\n guaranteed to be exactly what was originally specified.\n Since: 5.1.1\n Unstable_API: The API may need a slight redesign.\n ***** al_get_allegro_audio_version *****\n uint32_t al_get_allegro_audio_version(void)\n-uint32_t al_get_allegro_audio_version(void)\n Source_Code\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version.\n ***** al_get_audio_depth_size *****\n size_t al_get_audio_depth_size(ALLEGRO_AUDIO_DEPTH depth)\n-size_t al_get_audio_depth_size(ALLEGRO_AUDIO_DEPTH depth)\n Source_Code\n Return the size of a sample, in bytes, for the given format. The format is one\n of the values listed under ALLEGRO_AUDIO_DEPTH.\n Examples:\n * ex_synth.cpp\n ***** al_get_channel_count *****\n size_t al_get_channel_count(ALLEGRO_CHANNEL_CONF conf)\n-size_t al_get_channel_count(ALLEGRO_CHANNEL_CONF conf)\n Source_Code\n Return the number of channels for the given channel configuration, which is one\n of the values listed under ALLEGRO_CHANNEL_CONF.\n Examples:\n * ex_acodec.c\n ***** al_fill_silence *****\n void al_fill_silence(void *buf, unsigned int samples,\n ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-void al_fill_silence(void *buf, unsigned int samples,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n Source_Code\n Fill a buffer with silence, for the given format and channel configuration. The\n buffer must have enough space for the given number of samples, and be properly\n aligned.\n Since: 5.1.8\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:58 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:15 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/color.html", "source2": "./usr/share/doc/allegro5-doc/refman/color.html", "unified_diff": "@@ -224,16 +224,15 @@\n between the three color channels into account as well. In general, most\n monitors nowadays try to be close to the sRGB specification. And so if\n in an Allegro game you display something with color

    \n

    al_map_rgb_f(0.5, 0.5, 0,5)

    \n

    then it will appear at about half brightness (even though the actual\n brightness output of the monitor will be less than half).

    \n

    al_color_cmyk

    \n-
    ALLEGRO_COLOR al_color_cmyk(float c, float m, float y, float k)\n-ALLEGRO_COLOR al_color_cmyk(float c, float m, float y, float k)
    \n+
    ALLEGRO_COLOR al_color_cmyk(float c, float m, float y, float k)
    \n

    Source\n Code

    \n

    Return an ALLEGRO_COLOR\n structure from CMYK values (cyan, magenta, yellow, black).

    \n

    See also: al_color_cmyk_to_rgb, Examples:

    \n
      \n
    • ex_color.cpp
    • \n
    \n

    al_color_cmyk_to_rgb

    \n
    void al_color_cmyk_to_rgb(float cyan, float magenta, float yellow,\n-    float key, float *red, float *green, float *blue)\n-void al_color_cmyk_to_rgb(float cyan, float magenta, float yellow,\n-    float key, float *red, float *green, float *blue)
    \n+ float key, float *red, float *green, float *blue)\n

    Source\n Code

    \n

    Convert CMYK values to RGB values.

    \n

    See also: al_color_cmyk, al_color_rgb_to_cmyk

    \n

    Examples:

    \n
      \n
    • ex_color.cpp
    • \n
    \n

    al_color_hsl

    \n-
    ALLEGRO_COLOR al_color_hsl(float h, float s, float l)\n-ALLEGRO_COLOR al_color_hsl(float h, float s, float l)
    \n+
    ALLEGRO_COLOR al_color_hsl(float h, float s, float l)
    \n

    Source\n Code

    \n

    Return an ALLEGRO_COLOR\n structure from HSL (hue, saturation, lightness) values.

    \n

    Parameters:

    \n
      \n@@ -283,17 +279,15 @@\n
    • ex_clip.c
    • \n
    • ex_palette.c
    • \n
    \n

    al_color_hsl_to_rgb

    \n
    void al_color_hsl_to_rgb(float hue, float saturation, float lightness,\n-   float *red, float *green, float *blue)\n-void al_color_hsl_to_rgb(float hue, float saturation, float lightness,\n-   float *red, float *green, float *blue)
    \n+ float *red, float *green, float *blue)\n

    Source\n Code

    \n

    Convert values in HSL color model to RGB color model.

    \n

    Parameters:

    \n
      \n
    • hue - Color hue angle in the range 0..360
    • \n@@ -309,16 +303,15 @@\n
        \n
      • ex_color.cpp
      • \n
      • ex_palette.c
      • \n
      \n

      al_color_hsv

      \n-
      ALLEGRO_COLOR al_color_hsv(float h, float s, float v)\n-ALLEGRO_COLOR al_color_hsv(float h, float s, float v)
      \n+
      ALLEGRO_COLOR al_color_hsv(float h, float s, float v)
      \n

      Source\n Code

      \n

      Return an ALLEGRO_COLOR\n structure from HSV (hue, saturation, value) values.

      \n

      Parameters:

      \n
        \n@@ -336,17 +329,15 @@\n
      • ex_color.cpp
      • \n
      • ex_multisample.c
      • \n
      \n

      al_color_hsv_to_rgb

      \n
      void al_color_hsv_to_rgb(float hue, float saturation, float value,\n-   float *red, float *green, float *blue)\n-void al_color_hsv_to_rgb(float hue, float saturation, float value,\n-   float *red, float *green, float *blue)
      \n+ float *red, float *green, float *blue)\n

      Source\n Code

      \n

      Convert values in HSV color model to RGB color model.

      \n

      Parameters:

      \n
        \n
      • hue - Color hue angle in the range 0..360
      • \n@@ -360,16 +351,15 @@\n href=\"color.html#al_color_hsl_to_rgb\">al_color_hsl_to_rgb

        \n

        Examples:

        \n
          \n
        • ex_color.cpp
        • \n
        \n

        al_color_html

        \n-
        ALLEGRO_COLOR al_color_html(char const *string)\n-ALLEGRO_COLOR al_color_html(char const *string)
        \n+
        ALLEGRO_COLOR al_color_html(char const *string)
        \n

        Source\n Code

        \n

        Interprets an HTML-style hex number (e.g.\u00a0#00faff) as a color. The\n accepted format is the same as al_color_html_to_rgb.

        \n

        Returns the interpreted color, or\n@@ -380,17 +370,15 @@\n Allegro 5.0.x.

        \n
    \n

    See also: al_color_html_to_rgb, al_color_rgb_to_html

    \n

    al_color_html_to_rgb

    \n
    bool al_color_html_to_rgb(char const *string,\n-   float *red, float *green, float *blue)\n-bool al_color_html_to_rgb(char const *string,\n-   float *red, float *green, float *blue)
    \n+ float *red, float *green, float *blue)\n

    Source\n Code

    \n

    Interprets an HTML-style hex number (e.g.\u00a0#00faff) as a color. The\n only accepted formats are \u201c#RRGGBB\u201d and \u201cRRGGBB\u201d where R, G, B are\n hexadecimal digits [0-9A-Fa-f].

    \n

    Returns true on success, false on failure. On failure all components\n@@ -399,17 +387,15 @@\n

    Note: the behaviour on invalid strings is different from\n Allegro 5.0.x.

    \n
    \n

    See also: al_color_html, al_color_rgb_to_html

    \n

    al_color_rgb_to_html

    \n
    void al_color_rgb_to_html(float red, float green, float blue,\n-    char *string)\n-void al_color_rgb_to_html(float red, float green, float blue,\n-    char *string)
    \n+ char *string)\n

    Source\n Code

    \n

    Create an HTML-style string representation of an ALLEGRO_COLOR, e.g.\u00a0#00faff.

    \n

    Parameters:

    \n
      \n@@ -425,16 +411,15 @@\n href=\"color.html#al_color_html_to_rgb\">al_color_html_to_rgb

      \n

      Examples:

      \n
        \n
      • ex_color.cpp
      • \n
      \n

      al_color_name

      \n-
      ALLEGRO_COLOR al_color_name(char const *name)\n-ALLEGRO_COLOR al_color_name(char const *name)
      \n+
      ALLEGRO_COLOR al_color_name(char const *name)
      \n

      Source\n Code

      \n

      Return an ALLEGRO_COLOR\n with the given name. If the color is not found then black is\n returned.

      \n

      See ex_multisample_target.c\n

    • ex_clip.c
    • \n
    • ex_blit.c
    • \n
    \n

    al_color_name_to_rgb

    \n-
    bool al_color_name_to_rgb(char const *name, float *r, float *g, float *b)\n-bool al_color_name_to_rgb(char const *name, float *r, float *g, float *b)
    \n+
    bool al_color_name_to_rgb(char const *name, float *r, float *g, float *b)
    \n

    Source\n Code

    \n

    Parameters:

    \n
      \n
    • name - The (lowercase) name of the color.
    • \n
    • r, g, b - If one of the recognized color names below is passed, the\n@@ -495,17 +479,15 @@\n lightgray = lightgrey, lightslategray = lightslategrey, slategray =\n slategrey

      \n

      Returns: true if a name from the list above was passed, else\n false.

      \n

      See also: al_color_name

      \n

      al_color_rgb_to_cmyk

      \n
      void al_color_rgb_to_cmyk(float red, float green, float blue,\n-   float *cyan, float *magenta, float *yellow, float *key)\n-void al_color_rgb_to_cmyk(float red, float green, float blue,\n-   float *cyan, float *magenta, float *yellow, float *key)
      \n+ float *cyan, float *magenta, float *yellow, float *key)\n

      Source\n Code

      \n

      Each RGB color can be represented in CMYK with a K component of 0\n with the following formula:

      \n
      C = 1 - R\n M = 1 - G\n@@ -518,17 +500,15 @@\n 

      Examples:

      \n
        \n
      • ex_color.cpp
      • \n
      \n

      al_color_rgb_to_hsl

      \n
      void al_color_rgb_to_hsl(float red, float green, float blue,\n-   float *hue, float *saturation, float *lightness)\n-void al_color_rgb_to_hsl(float red, float green, float blue,\n-   float *hue, float *saturation, float *lightness)
      \n+ float *hue, float *saturation, float *lightness)
      \n

      Source\n Code

      \n

      Given an RGB triplet with components in the range 0..1, return the\n hue in degrees from 0..360 and saturation and lightness in the range\n 0..1.

      \n

      See also: ex_color.cpp

    • \n
    • ex_palette.c
    • \n
    \n

    al_color_rgb_to_hsv

    \n
    void al_color_rgb_to_hsv(float red, float green, float blue,\n-   float *hue, float *saturation, float *value)\n-void al_color_rgb_to_hsv(float red, float green, float blue,\n-   float *hue, float *saturation, float *value)
    \n+ float *hue, float *saturation, float *value)\n

    Source\n Code

    \n

    Given an RGB triplet with components in the range 0..1, return the\n hue in degrees from 0..360 and saturation and value in the range\n 0..1.

    \n

    See also: \n

  • ex_color.cpp
  • \n
  • ex_color_gradient.c
  • \n \n

    al_color_rgb_to_name

    \n-
    char const *al_color_rgb_to_name(float r, float g, float b)\n-char const *al_color_rgb_to_name(float r, float g, float b)
    \n+
    char const *al_color_rgb_to_name(float r, float g, float b)
    \n

    Source\n Code

    \n

    Given an RGB triplet with components in the range 0..1, find a color\n name describing it approximately.

    \n

    See also: al_color_name_to_rgb, Examples:

    \n
      \n
    • ex_color.cpp
    • \n
    \n

    al_color_rgb_to_xyz

    \n
    void al_color_rgb_to_xyz(float red, float green, float blue,\n-   float *x, float *y, float *z)\n-void al_color_rgb_to_xyz(float red, float green, float blue,\n-   float *x, float *y, float *z)
    \n+ float *x, float *y, float *z)\n

    Source\n Code

    \n

    Convert RGB values to XYZ color space.

    \n

    Since: 5.2.3

    \n

    See also: al_color_xyz, al_color_xyz_to_rgb

    \n

    al_color_xyz

    \n-
    ALLEGRO_COLOR al_color_xyz(float x, float y, float z)\n-ALLEGRO_COLOR al_color_xyz(float x, float y, float z)
    \n+
    ALLEGRO_COLOR al_color_xyz(float x, float y, float z)
    \n

    Source\n Code

    \n

    Return an ALLEGRO_COLOR\n structure from XYZ values. The CIE 1931 XYZ color space consists of\n three components in the range 0..1. The Y component corresponds to\n luminance and the X and Z components define the color.

    \n@@ -610,39 +584,34 @@\n
    \n

    Since: 5.2.3

    \n

    See also: al_color_xyz_to_rgb, al_color_rgb_to_xyz

    \n

    al_color_xyz_to_rgb

    \n
    void al_color_xyz_to_rgb(float x, float y, float z,\n-    float *red, float *green, float *blue)\n-void al_color_xyz_to_rgb(float x, float y, float z,\n-    float *red, float *green, float *blue)
    \n+ float *red, float *green, float *blue)\n

    Source\n Code

    \n

    Convert XYZ color values to RGB color space.

    \n

    Since: 5.2.3

    \n

    See also: al_color_xyz, al_color_rgb_to_xyz

    \n

    al_color_rgb_to_xyy

    \n
    void al_color_rgb_to_xyy(float red, float green, float blue,\n-   float *x, float *y, float *y2)\n-void al_color_rgb_to_xyy(float red, float green, float blue,\n-   float *x, float *y, float *y2)
    \n+ float *x, float *y, float *y2)\n

    Source\n Code

    \n

    Convert RGB values to xyY color space.

    \n

    Since: 5.2.3

    \n

    See also: al_color_xyy, al_color_xyy_to_rgb

    \n

    al_color_xyy

    \n-
    ALLEGRO_COLOR al_color_xyy(float x, float y, float y2)\n-ALLEGRO_COLOR al_color_xyy(float x, float y, float y2)
    \n+
    ALLEGRO_COLOR al_color_xyy(float x, float y, float y2)
    \n

    Source\n Code

    \n

    Return an ALLEGRO_COLOR\n structure from xyY values. The Y component in the xyY color space is the\n same as the Y in XYZ.

    \n

    However the x and y values are computed from XYZ like this:

    \n@@ -650,44 +619,39 @@\n y = Y / (X + Y + Z)\n

    Since: 5.2.3

    \n

    See also: al_color_xyy_to_rgb, al_color_rgb_to_xyy

    \n

    al_color_xyy_to_rgb

    \n
    void al_color_xyy_to_rgb(float x, float y, float y2,\n-    float *red, float *green, float *blue)\n-void al_color_xyy_to_rgb(float x, float y, float y2,\n-    float *red, float *green, float *blue)
    \n+ float *red, float *green, float *blue)\n

    Source\n Code

    \n

    Convert xyY color values to RGB color space.

    \n

    Since: 5.2.3

    \n

    See also: al_color_xyy, al_color_rgb_to_xyy

    \n

    al_color_rgb_to_lab

    \n
    void al_color_rgb_to_lab(float red, float green, float blue,\n-   float *l, float *a, float *b)\n-void al_color_rgb_to_lab(float red, float green, float blue,\n-   float *l, float *a, float *b)
    \n+ float *l, float *a, float *b)\n

    Source\n Code

    \n

    Convert RGB values to L*a*b* color space.

    \n

    Since: 5.2.3

    \n

    See also: al_color_lab, al_color_lab_to_rgb

    \n

    Examples:

    \n
      \n
    • ex_color_gradient.c
    • \n
    \n

    al_color_lab

    \n-
    ALLEGRO_COLOR al_color_lab(float l, float a, float b)\n-ALLEGRO_COLOR al_color_lab(float l, float a, float b)
    \n+
    ALLEGRO_COLOR al_color_lab(float l, float a, float b)
    \n

    Source\n Code

    \n

    Return an ALLEGRO_COLOR\n structure from CIE L*a*b* values. The L* component corresponds to\n luminance from 0..1. The a* and b* components are in the range\n -1..+1.

    \n@@ -713,49 +677,44 @@\n
  • ex_color2.c
  • \n
  • ex_color_gradient.c
  • \n \n

    al_color_lab_to_rgb

    \n
    void al_color_lab_to_rgb(float l, float a, float b,\n-    float *red, float *green, float *blue)\n-void al_color_lab_to_rgb(float l, float a, float b,\n-    float *red, float *green, float *blue)
    \n+ float *red, float *green, float *blue)\n

    Source\n Code

    \n

    Convert CIE L*a*b* color values to RGB color space.

    \n

    Since: 5.2.3

    \n

    See also: al_color_lab, al_color_rgb_to_lab

    \n

    Examples:

    \n
      \n
    • ex_color2.c
    • \n
    \n

    al_color_rgb_to_lch

    \n
    void al_color_rgb_to_lch(float red, float green, float blue,\n-   float *l, float *c, float *h)\n-void al_color_rgb_to_lch(float red, float green, float blue,\n-   float *l, float *c, float *h)
    \n+ float *l, float *c, float *h)\n

    Source\n Code

    \n

    Convert RGB values to CIE LCH color space.

    \n

    Since: 5.2.3

    \n

    See also: al_color_lch, al_color_lch_to_rgb

    \n

    Examples:

    \n
      \n
    • ex_color.cpp
    • \n
    \n

    al_color_lch

    \n-
    ALLEGRO_COLOR al_color_lch(float l, float c, float h)\n-ALLEGRO_COLOR al_color_lch(float l, float c, float h)
    \n+
    ALLEGRO_COLOR al_color_lch(float l, float c, float h)
    \n

    Source\n Code

    \n

    Return an ALLEGRO_COLOR\n structure from CIE LCH values. LCH colors are very similar to HSL, with\n the same meaning of L and H and C corresponding to S. However LCH is\n more visually uniform. Furthermore, this function expects the angle for\n@@ -772,34 +731,30 @@\n

    Examples:

    \n
      \n
    • ex_color.cpp
    • \n
    \n

    al_color_lch_to_rgb

    \n
    void al_color_lch_to_rgb(float l, float c, float h,\n-    float *red, float *green, float *blue)\n-void al_color_lch_to_rgb(float l, float c, float h,\n-    float *red, float *green, float *blue)
    \n+ float *red, float *green, float *blue)\n

    Source\n Code

    \n

    Convert CIE LCH color values to RGB color space.

    \n

    Since: 5.2.3

    \n

    See also: al_color_lch, al_color_rgb_to_lch

    \n

    Examples:

    \n
      \n
    • ex_color.cpp
    • \n
    \n

    al_color_distance_ciede2000

    \n
    double al_color_distance_ciede2000(ALLEGRO_COLOR color1,\n-      ALLEGRO_COLOR color2) {\n-double al_color_distance_ciede2000(ALLEGRO_COLOR color1,\n-      ALLEGRO_COLOR color2) {
    \n+ ALLEGRO_COLOR color2) {\n

    Source\n Code

    \n

    This function computes the CIEDE2000 color difference between two RGB\n colors. This is a visually uniform color difference, unlike for example\n the RGB distance.

    \n

    When using the RGB distance (Euklidean distance between two RGB\n@@ -822,31 +777,28 @@\n

    Examples:

    \n
      \n
    • ex_color2.c
    • \n
    \n

    al_color_rgb_to_yuv

    \n
    void al_color_rgb_to_yuv(float red, float green, float blue,\n-   float *y, float *u, float *v)\n-void al_color_rgb_to_yuv(float red, float green, float blue,\n-   float *y, float *u, float *v)
    \n+ float *y, float *u, float *v)\n

    Source\n Code

    \n

    Convert RGB values to YUV color space.

    \n

    See also: al_color_yuv, al_color_yuv_to_rgb

    \n

    Examples:

    \n
      \n
    • ex_color.cpp
    • \n
    \n

    al_color_yuv

    \n-
    ALLEGRO_COLOR al_color_yuv(float y, float u, float v)\n-ALLEGRO_COLOR al_color_yuv(float y, float u, float v)
    \n+
    ALLEGRO_COLOR al_color_yuv(float y, float u, float v)
    \n

    Source\n Code

    \n

    Return an ALLEGRO_COLOR\n structure from YUV values.

    \n

    See also: al_color_yuv_to_rgb, Examples:

    \n
      \n
    • ex_color.cpp
    • \n
    \n

    al_color_yuv_to_rgb

    \n
    void al_color_yuv_to_rgb(float y, float u, float v,\n-    float *red, float *green, float *blue)\n-void al_color_yuv_to_rgb(float y, float u, float v,\n-    float *red, float *green, float *blue)
    \n+ float *red, float *green, float *blue)\n

    Source\n Code

    \n

    Convert YUV color values to RGB color space.

    \n

    See also: al_color_yuv, al_color_rgb_to_yuv

    \n

    Examples:

    \n
      \n
    • ex_color.cpp
    • \n
    \n

    al_get_allegro_color_version

    \n-
    uint32_t al_get_allegro_color_version(void)\n-uint32_t al_get_allegro_color_version(void)
    \n+
    uint32_t al_get_allegro_color_version(void)
    \n

    Source\n Code

    \n

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    \n

    al_is_color_valid

    \n

    Source Code

    \n

    Checks if all components of the color are between 0 and 1. Some of\n the color conversions in this addon support color spaces with more\n colors than can be represented in sRGB and when converted to RGB will\n result in invalid color components outside the 0..1 range.

    \n

    Since: 5.2.3

    \n

    al_color_rgb_to_oklab

    \n
    void al_color_rgb_to_oklab(float red, float green, float blue,\n-   float *ol, float *oa, float *ob)\n-void al_color_rgb_to_oklab(float red, float green, float blue,\n-   float *ol, float *oa, float *ob)
    \n+ float *ol, float *oa, float *ob)\n

    Source\n Code

    \n

    Convert RGB values to the Oklab color space.

    \n

    Since: 5.2.8

    \n

    See also: al_color_oklab, al_color_oklab_to_rgb

    \n

    Examples:

    \n
      \n
    • ex_color_gradient.c
    • \n
    \n

    al_color_oklab

    \n-
    ALLEGRO_COLOR al_color_oklab(float l, float a, float b)\n-ALLEGRO_COLOR al_color_oklab(float l, float a, float b)
    \n+
    ALLEGRO_COLOR al_color_oklab(float l, float a, float b)
    \n

    Source\n Code

    \n

    Return an ALLEGRO_COLOR\n structure from Oklab values. The L component corresponds to luminance\n from 0..1. The a and b components are in the range -1..+1.

    \n
    \n@@ -927,29 +873,25 @@\n

    Examples:

    \n
      \n
    • ex_color_gradient.c
    • \n
    \n

    al_color_oklab_to_rgb

    \n
    void al_color_oklab_to_rgb(float ol, float oa, float ob,\n-    float *red, float *green, float *blue)\n-void al_color_oklab_to_rgb(float ol, float oa, float ob,\n-    float *red, float *green, float *blue)
    \n+ float *red, float *green, float *blue)\n

    Source\n Code

    \n

    Convert Oklab color values to RGB.

    \n

    Since: 5.2.8

    \n

    See also: al_color_oklab, al_color_rgb_to_oklab

    \n

    al_color_rgb_to_linear

    \n
    void al_color_rgb_to_linear(float red, float green, float blue,\n-   float *r, float *g, float *b)\n-void al_color_rgb_to_linear(float red, float green, float blue,\n-   float *r, float *g, float *b)
    \n+ float *r, float *g, float *b)\n

    Source\n Code

    \n

    Convert gamma corrected sRGB values (i.e.\u00a0normal RGB) to linear sRGB\n space.

    \n

    Since: 5.2.8

    \n

    See also: al_color_linear,\n@@ -957,16 +899,15 @@\n href=\"color.html#al_color_linear_to_rgb\">al_color_linear_to_rgb

    \n

    Examples:

    \n
      \n
    • ex_color_gradient.c
    • \n
    \n

    al_color_linear

    \n-
    ALLEGRO_COLOR al_color_linear(float r, float g, float b)\n-ALLEGRO_COLOR al_color_linear(float r, float g, float b)
    \n+
    ALLEGRO_COLOR al_color_linear(float r, float g, float b)
    \n

    Source\n Code

    \n

    Return an ALLEGRO_COLOR\n structure from linear sRGB values. Allegro RGB values are assumed to be\n sRGB. The sRGB standard is in wide use by various display devices. It\n accounts for a standard gamma correction applied to RGB colors before\n@@ -990,25 +931,23 @@\n

    Examples:

    \n
      \n
    • ex_color_gradient.c
    • \n
    \n

    al_color_linear_to_rgb

    \n
    void al_color_linear_to_rgb(float r, float g, float b,\n-    float *red, float *green, float *blue)\n-void al_color_linear_to_rgb(float r, float g, float b,\n-    float *red, float *green, float *blue)
    \n+ float *red, float *green, float *blue)\n

    Source\n Code

    \n

    Convert linear sRGB color values to gamma corrected (i.e.\u00a0normal) RGB\n values.

    \n

    Since: 5.2.8

    \n

    See also: [al_color_linera], al_color_rgb_to_linear

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:58 UTC\n+ - Last updated: 2024-01-07 09:01:15 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -103,120 +103,106 @@\n try to be close to the sRGB specification. And so if in an Allegro game you\n display something with color\n al_map_rgb_f(0.5, 0.5, 0,5)\n then it will appear at about half brightness (even though the actual brightness\n output of the monitor will be less than half).\n ****** al_color_cmyk ******\n ALLEGRO_COLOR al_color_cmyk(float c, float m, float y, float k)\n-ALLEGRO_COLOR al_color_cmyk(float c, float m, float y, float k)\n Source_Code\n Return an ALLEGRO_COLOR structure from CMYK values (cyan, magenta, yellow,\n black).\n See also: al_color_cmyk_to_rgb, al_color_rgb_to_cmyk\n Examples:\n * ex_color.cpp\n ****** al_color_cmyk_to_rgb ******\n void al_color_cmyk_to_rgb(float cyan, float magenta, float yellow,\n float key, float *red, float *green, float *blue)\n-void al_color_cmyk_to_rgb(float cyan, float magenta, float yellow,\n- float key, float *red, float *green, float *blue)\n Source_Code\n Convert CMYK values to RGB values.\n See also: al_color_cmyk, al_color_rgb_to_cmyk\n Examples:\n * ex_color.cpp\n ****** al_color_hsl ******\n ALLEGRO_COLOR al_color_hsl(float h, float s, float l)\n-ALLEGRO_COLOR al_color_hsl(float h, float s, float l)\n Source_Code\n Return an ALLEGRO_COLOR structure from HSL (hue, saturation, lightness) values.\n Parameters:\n * hue - Color hue angle in the range 0..360\n * saturation - Color saturation in the range 0..1\n * lightness - Color lightness in the range 0..1\n See also: al_color_hsl_to_rgb, al_color_hsv\n Examples:\n * ex_color.cpp\n * ex_clip.c\n * ex_palette.c\n ****** al_color_hsl_to_rgb ******\n void al_color_hsl_to_rgb(float hue, float saturation, float lightness,\n float *red, float *green, float *blue)\n-void al_color_hsl_to_rgb(float hue, float saturation, float lightness,\n- float *red, float *green, float *blue)\n Source_Code\n Convert values in HSL color model to RGB color model.\n Parameters:\n * hue - Color hue angle in the range 0..360\n * saturation - Color saturation in the range 0..1\n * lightness - Color lightness in the range 0..1\n * red, green, blue - returned RGB values in the range 0..1\n See also: al_color_rgb_to_hsl, al_color_hsl, al_color_hsv_to_rgb\n Examples:\n * ex_color.cpp\n * ex_palette.c\n ****** al_color_hsv ******\n ALLEGRO_COLOR al_color_hsv(float h, float s, float v)\n-ALLEGRO_COLOR al_color_hsv(float h, float s, float v)\n Source_Code\n Return an ALLEGRO_COLOR structure from HSV (hue, saturation, value) values.\n Parameters:\n * hue - Color hue angle in the range 0..360\n * saturation - Color saturation in the range 0..1\n * value - Color value in the range 0..1\n See also: al_color_hsv_to_rgb, al_color_hsl\n Examples:\n * ex_font_multiline.cpp\n * ex_color.cpp\n * ex_multisample.c\n ****** al_color_hsv_to_rgb ******\n void al_color_hsv_to_rgb(float hue, float saturation, float value,\n float *red, float *green, float *blue)\n-void al_color_hsv_to_rgb(float hue, float saturation, float value,\n- float *red, float *green, float *blue)\n Source_Code\n Convert values in HSV color model to RGB color model.\n Parameters:\n * hue - Color hue angle in the range 0..360\n * saturation - Color saturation in the range 0..1\n * value - Color value in the range 0..1\n * red, green, blue - returned RGB values in the range 0..1\n See also: al_color_rgb_to_hsv, al_color_hsv, al_color_hsl_to_rgb\n Examples:\n * ex_color.cpp\n ****** al_color_html ******\n ALLEGRO_COLOR al_color_html(char const *string)\n-ALLEGRO_COLOR al_color_html(char const *string)\n Source_Code\n Interprets an HTML-style hex number (e.g.\u00c2\u00a0#00faff) as a color. The accepted\n format is the same as al_color_html_to_rgb.\n Returns the interpreted color, or al_map_rgba(0, 0, 0, 0) if the string could\n not be parsed.\n Note: the behaviour on invalid strings is different from Allegro\n 5.0.x.\n See also: al_color_html_to_rgb, al_color_rgb_to_html\n ****** al_color_html_to_rgb ******\n bool al_color_html_to_rgb(char const *string,\n float *red, float *green, float *blue)\n-bool al_color_html_to_rgb(char const *string,\n- float *red, float *green, float *blue)\n Source_Code\n Interprets an HTML-style hex number (e.g.\u00c2\u00a0#00faff) as a color. The only\n accepted formats are \u00e2\u0080\u009c#RRGGBB\u00e2\u0080\u009d and \u00e2\u0080\u009cRRGGBB\u00e2\u0080\u009d where R, G, B are\n hexadecimal digits [0-9A-Fa-f].\n Returns true on success, false on failure. On failure all components are set to\n zero.\n Note: the behaviour on invalid strings is different from Allegro\n 5.0.x.\n See also: al_color_html, al_color_rgb_to_html\n ****** al_color_rgb_to_html ******\n void al_color_rgb_to_html(float red, float green, float blue,\n char *string)\n-void al_color_rgb_to_html(float red, float green, float blue,\n- char *string)\n Source_Code\n Create an HTML-style string representation of an ALLEGRO_COLOR, e.g.\u00c2\u00a0#00faff.\n Parameters:\n * red, green, blue - The color components in the range 0..1.\n * string - A pointer to a buffer of at least 8 bytes, into which the result\n will be written (including the NUL terminator).\n Example:\n@@ -224,26 +210,24 @@\n al_color_rgb_to_html(1, 0, 0, html);\n Now html will contain \u00e2\u0080\u009c#ff0000\u00e2\u0080\u009d.\n See also: al_color_html, al_color_html_to_rgb\n Examples:\n * ex_color.cpp\n ****** al_color_name ******\n ALLEGRO_COLOR al_color_name(char const *name)\n-ALLEGRO_COLOR al_color_name(char const *name)\n Source_Code\n Return an ALLEGRO_COLOR with the given name. If the color is not found then\n black is returned.\n See al_color_name_to_rgb for the list of names.\n Examples:\n * ex_multisample_target.c\n * ex_clip.c\n * ex_blit.c\n ****** al_color_name_to_rgb ******\n bool al_color_name_to_rgb(char const *name, float *r, float *g, float *b)\n-bool al_color_name_to_rgb(char const *name, float *r, float *g, float *b)\n Source_Code\n Parameters:\n * name - The (lowercase) name of the color.\n * r, g, b - If one of the recognized color names below is passed, the\n corresponding RGB values in the range 0..1 are written.\n The 148 recognized names are:\n aliceblue, antiquewhite, aqua, aquamarine, azure, beige, bisque,\n@@ -276,16 +260,14 @@\n dimgray = dimgrey, fuchsia = purple, gray = grey, lightgray = lightgrey,\n lightslategray = lightslategrey, slategray = slategrey\n Returns: true if a name from the list above was passed, else false.\n See also: al_color_name\n ****** al_color_rgb_to_cmyk ******\n void al_color_rgb_to_cmyk(float red, float green, float blue,\n float *cyan, float *magenta, float *yellow, float *key)\n-void al_color_rgb_to_cmyk(float red, float green, float blue,\n- float *cyan, float *magenta, float *yellow, float *key)\n Source_Code\n Each RGB color can be represented in CMYK with a K component of 0 with the\n following formula:\n C = 1 - R\n M = 1 - G\n Y = 1 - B\n K = 0\n@@ -293,119 +275,101 @@\n and minimal color components.\n See also: al_color_cmyk, al_color_cmyk_to_rgb\n Examples:\n * ex_color.cpp\n ****** al_color_rgb_to_hsl ******\n void al_color_rgb_to_hsl(float red, float green, float blue,\n float *hue, float *saturation, float *lightness)\n-void al_color_rgb_to_hsl(float red, float green, float blue,\n- float *hue, float *saturation, float *lightness)\n Source_Code\n Given an RGB triplet with components in the range 0..1, return the hue in\n degrees from 0..360 and saturation and lightness in the range 0..1.\n See also: al_color_hsl_to_rgb, al_color_hsl\n Examples:\n * ex_color.cpp\n * ex_palette.c\n ****** al_color_rgb_to_hsv ******\n void al_color_rgb_to_hsv(float red, float green, float blue,\n float *hue, float *saturation, float *value)\n-void al_color_rgb_to_hsv(float red, float green, float blue,\n- float *hue, float *saturation, float *value)\n Source_Code\n Given an RGB triplet with components in the range 0..1, return the hue in\n degrees from 0..360 and saturation and value in the range 0..1.\n See also: al_color_hsv_to_rgb, al_color_hsv\n Examples:\n * ex_color.cpp\n * ex_color_gradient.c\n ****** al_color_rgb_to_name ******\n char const *al_color_rgb_to_name(float r, float g, float b)\n-char const *al_color_rgb_to_name(float r, float g, float b)\n Source_Code\n Given an RGB triplet with components in the range 0..1, find a color name\n describing it approximately.\n See also: al_color_name_to_rgb, al_color_name\n Examples:\n * ex_color.cpp\n ****** al_color_rgb_to_xyz ******\n void al_color_rgb_to_xyz(float red, float green, float blue,\n float *x, float *y, float *z)\n-void al_color_rgb_to_xyz(float red, float green, float blue,\n- float *x, float *y, float *z)\n Source_Code\n Convert RGB values to XYZ color space.\n Since: 5.2.3\n See also: al_color_xyz, al_color_xyz_to_rgb\n ****** al_color_xyz ******\n ALLEGRO_COLOR al_color_xyz(float x, float y, float z)\n-ALLEGRO_COLOR al_color_xyz(float x, float y, float z)\n Source_Code\n Return an ALLEGRO_COLOR structure from XYZ values. The CIE 1931 XYZ color space\n consists of three components in the range 0..1. The Y component corresponds to\n luminance and the X and Z components define the color.\n RGB components are always assumed to be in sRGB space.\n Note:\n The XYZ color space can represent more colors than are visible in\n sRGB and therefore conversion may result in RGB values outside of the\n 0..1 range. You can check for that case with al_is_color_valid.\n Since: 5.2.3\n See also: al_color_xyz_to_rgb, al_color_rgb_to_xyz\n ****** al_color_xyz_to_rgb ******\n void al_color_xyz_to_rgb(float x, float y, float z,\n float *red, float *green, float *blue)\n-void al_color_xyz_to_rgb(float x, float y, float z,\n- float *red, float *green, float *blue)\n Source_Code\n Convert XYZ color values to RGB color space.\n Since: 5.2.3\n See also: al_color_xyz, al_color_rgb_to_xyz\n ****** al_color_rgb_to_xyy ******\n void al_color_rgb_to_xyy(float red, float green, float blue,\n float *x, float *y, float *y2)\n-void al_color_rgb_to_xyy(float red, float green, float blue,\n- float *x, float *y, float *y2)\n Source_Code\n Convert RGB values to xyY color space.\n Since: 5.2.3\n See also: al_color_xyy, al_color_xyy_to_rgb\n ****** al_color_xyy ******\n ALLEGRO_COLOR al_color_xyy(float x, float y, float y2)\n-ALLEGRO_COLOR al_color_xyy(float x, float y, float y2)\n Source_Code\n Return an ALLEGRO_COLOR structure from xyY values. The Y component in the xyY\n color space is the same as the Y in XYZ.\n However the x and y values are computed from XYZ like this:\n x = X / (X + Y + Z)\n y = Y / (X + Y + Z)\n Since: 5.2.3\n See also: al_color_xyy_to_rgb, al_color_rgb_to_xyy\n ****** al_color_xyy_to_rgb ******\n void al_color_xyy_to_rgb(float x, float y, float y2,\n float *red, float *green, float *blue)\n-void al_color_xyy_to_rgb(float x, float y, float y2,\n- float *red, float *green, float *blue)\n Source_Code\n Convert xyY color values to RGB color space.\n Since: 5.2.3\n See also: al_color_xyy, al_color_rgb_to_xyy\n ****** al_color_rgb_to_lab ******\n void al_color_rgb_to_lab(float red, float green, float blue,\n float *l, float *a, float *b)\n-void al_color_rgb_to_lab(float red, float green, float blue,\n- float *l, float *a, float *b)\n Source_Code\n Convert RGB values to L*a*b* color space.\n Since: 5.2.3\n See also: al_color_lab, al_color_lab_to_rgb\n Examples:\n * ex_color_gradient.c\n ****** al_color_lab ******\n ALLEGRO_COLOR al_color_lab(float l, float a, float b)\n-ALLEGRO_COLOR al_color_lab(float l, float a, float b)\n Source_Code\n Return an ALLEGRO_COLOR structure from CIE L*a*b* values. The L* component\n corresponds to luminance from 0..1. The a* and b* components are in the range -\n 1..+1.\n Note:\n The L*a*b* color space can represent more colors than are visible in\n sRGB and therefore conversion may result in RGB values outside of the\n@@ -418,36 +382,31 @@\n See also: al_color_lab_to_rgb, al_color_rgb_to_lab\n Examples:\n * ex_color2.c\n * ex_color_gradient.c\n ****** al_color_lab_to_rgb ******\n void al_color_lab_to_rgb(float l, float a, float b,\n float *red, float *green, float *blue)\n-void al_color_lab_to_rgb(float l, float a, float b,\n- float *red, float *green, float *blue)\n Source_Code\n Convert CIE L*a*b* color values to RGB color space.\n Since: 5.2.3\n See also: al_color_lab, al_color_rgb_to_lab\n Examples:\n * ex_color2.c\n ****** al_color_rgb_to_lch ******\n void al_color_rgb_to_lch(float red, float green, float blue,\n float *l, float *c, float *h)\n-void al_color_rgb_to_lch(float red, float green, float blue,\n- float *l, float *c, float *h)\n Source_Code\n Convert RGB values to CIE LCH color space.\n Since: 5.2.3\n See also: al_color_lch, al_color_lch_to_rgb\n Examples:\n * ex_color.cpp\n ****** al_color_lch ******\n ALLEGRO_COLOR al_color_lch(float l, float c, float h)\n-ALLEGRO_COLOR al_color_lch(float l, float c, float h)\n Source_Code\n Return an ALLEGRO_COLOR structure from CIE LCH values. LCH colors are very\n similar to HSL, with the same meaning of L and H and C corresponding to S.\n However LCH is more visually uniform. Furthermore, this function expects the\n angle for H in radians and not in degree.\n The CIE LCH color space is a cylindrical representation of the L*a*b* color\n space. The L component is the same and C and H are computed like this:\n@@ -456,27 +415,23 @@\n Since: 5.2.3\n See also: al_color_lch_to_rgb, al_color_rgb_to_lch\n Examples:\n * ex_color.cpp\n ****** al_color_lch_to_rgb ******\n void al_color_lch_to_rgb(float l, float c, float h,\n float *red, float *green, float *blue)\n-void al_color_lch_to_rgb(float l, float c, float h,\n- float *red, float *green, float *blue)\n Source_Code\n Convert CIE LCH color values to RGB color space.\n Since: 5.2.3\n See also: al_color_lch, al_color_rgb_to_lch\n Examples:\n * ex_color.cpp\n ****** al_color_distance_ciede2000 ******\n double al_color_distance_ciede2000(ALLEGRO_COLOR color1,\n ALLEGRO_COLOR color2) {\n-double al_color_distance_ciede2000(ALLEGRO_COLOR color1,\n- ALLEGRO_COLOR color2) {\n Source_Code\n This function computes the CIEDE2000 color difference between two RGB colors.\n This is a visually uniform color difference, unlike for example the RGB\n distance.\n When using the RGB distance (Euklidean distance between two RGB triplets) there\n can be color pairs with the same distance, where the colors of one pair appear\n to be almost the same color, while the colors of the other pair look quite\n@@ -490,66 +445,57 @@\n seen).\n Since: 5.2.3\n Examples:\n * ex_color2.c\n ****** al_color_rgb_to_yuv ******\n void al_color_rgb_to_yuv(float red, float green, float blue,\n float *y, float *u, float *v)\n-void al_color_rgb_to_yuv(float red, float green, float blue,\n- float *y, float *u, float *v)\n Source_Code\n Convert RGB values to YUV color space.\n See also: al_color_yuv, al_color_yuv_to_rgb\n Examples:\n * ex_color.cpp\n ****** al_color_yuv ******\n ALLEGRO_COLOR al_color_yuv(float y, float u, float v)\n-ALLEGRO_COLOR al_color_yuv(float y, float u, float v)\n Source_Code\n Return an ALLEGRO_COLOR structure from YUV values.\n See also: al_color_yuv_to_rgb, al_color_rgb_to_yuv\n Examples:\n * ex_color.cpp\n ****** al_color_yuv_to_rgb ******\n void al_color_yuv_to_rgb(float y, float u, float v,\n float *red, float *green, float *blue)\n-void al_color_yuv_to_rgb(float y, float u, float v,\n- float *red, float *green, float *blue)\n Source_Code\n Convert YUV color values to RGB color space.\n See also: al_color_yuv, al_color_rgb_to_yuv\n Examples:\n * ex_color.cpp\n ****** al_get_allegro_color_version ******\n uint32_t al_get_allegro_color_version(void)\n-uint32_t al_get_allegro_color_version(void)\n Source_Code\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version.\n ****** al_is_color_valid ******\n Source Code\n Checks if all components of the color are between 0 and 1. Some of the color\n conversions in this addon support color spaces with more colors than can be\n represented in sRGB and when converted to RGB will result in invalid color\n components outside the 0..1 range.\n Since: 5.2.3\n ****** al_color_rgb_to_oklab ******\n void al_color_rgb_to_oklab(float red, float green, float blue,\n float *ol, float *oa, float *ob)\n-void al_color_rgb_to_oklab(float red, float green, float blue,\n- float *ol, float *oa, float *ob)\n Source_Code\n Convert RGB values to the Oklab color space.\n Since: 5.2.8\n See also: al_color_oklab, al_color_oklab_to_rgb\n Examples:\n * ex_color_gradient.c\n ****** al_color_oklab ******\n ALLEGRO_COLOR al_color_oklab(float l, float a, float b)\n-ALLEGRO_COLOR al_color_oklab(float l, float a, float b)\n Source_Code\n Return an ALLEGRO_COLOR structure from Oklab values. The L component\n corresponds to luminance from 0..1. The a and b components are in the range -\n 1..+1.\n Note:\n The Oklab color space can represent more colors than are visible in\n sRGB and therefore conversion may result in RGB values outside of the\n@@ -557,34 +503,29 @@\n Since: 5.2.8\n See also: al_color_oklab_to_rgb, al_color_rgb_to_oklab\n Examples:\n * ex_color_gradient.c\n ****** al_color_oklab_to_rgb ******\n void al_color_oklab_to_rgb(float ol, float oa, float ob,\n float *red, float *green, float *blue)\n-void al_color_oklab_to_rgb(float ol, float oa, float ob,\n- float *red, float *green, float *blue)\n Source_Code\n Convert Oklab color values to RGB.\n Since: 5.2.8\n See also: al_color_oklab, al_color_rgb_to_oklab\n ****** al_color_rgb_to_linear ******\n void al_color_rgb_to_linear(float red, float green, float blue,\n float *r, float *g, float *b)\n-void al_color_rgb_to_linear(float red, float green, float blue,\n- float *r, float *g, float *b)\n Source_Code\n Convert gamma corrected sRGB values (i.e.\u00c2\u00a0normal RGB) to linear sRGB space.\n Since: 5.2.8\n See also: al_color_linear, al_color_linear_to_rgb\n Examples:\n * ex_color_gradient.c\n ****** al_color_linear ******\n ALLEGRO_COLOR al_color_linear(float r, float g, float b)\n-ALLEGRO_COLOR al_color_linear(float r, float g, float b)\n Source_Code\n Return an ALLEGRO_COLOR structure from linear sRGB values. Allegro RGB values\n are assumed to be sRGB. The sRGB standard is in wide use by various display\n devices. It accounts for a standard gamma correction applied to RGB colors\n before they get displayed.\n Gamma correction means if for example we have a medium gray color specified\n with al_map_rgb_f(0.5,0.5,0.5) then we do not want the monitor to set the pixel\n@@ -600,14 +541,12 @@\n Since: 5.2.8\n See also: al_color_linear_to_rgb, al_color_rgb_to_linear\n Examples:\n * ex_color_gradient.c\n ****** al_color_linear_to_rgb ******\n void al_color_linear_to_rgb(float r, float g, float b,\n float *red, float *green, float *blue)\n-void al_color_linear_to_rgb(float r, float g, float b,\n- float *red, float *green, float *blue)\n Source_Code\n Convert linear sRGB color values to gamma corrected (i.e.\u00c2\u00a0normal) RGB values.\n Since: 5.2.8\n See also: [al_color_linera], al_color_rgb_to_linear\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:58 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:15 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/config.html", "source2": "./usr/share/doc/allegro5-doc/refman/config.html", "unified_diff": "@@ -228,32 +228,30 @@\n an actual program):

    \n
    ALLEGRO_CONFIG* cfg = al_load_config_file("test.cfg");\n printf("%s\\n", al_get_config_value(cfg, "", "monster name")); /* Prints: Allegro Developer */\n printf("%s\\n", al_get_config_value(cfg, "weapon 0", "damage")); /* Prints: 443 */\n printf("%s\\n", al_get_config_value(cfg, "weapon 1", "damage")); /* Prints: 503 */\n al_destroy_config(cfg);
    \n

    ALLEGRO_CONFIG

    \n-
    typedef struct ALLEGRO_CONFIG ALLEGRO_CONFIG;\n-typedef struct ALLEGRO_CONFIG ALLEGRO_CONFIG;
    \n+
    typedef struct ALLEGRO_CONFIG ALLEGRO_CONFIG;
    \n

    Source\n Code

    \n

    An abstract configuration structure.

    \n

    Examples:

    \n
      \n
    • ex_config.c
    • \n
    • ex_vsync.c
    • \n
    • ex_stream_seek.c
    • \n
    \n

    ALLEGRO_CONFIG_SECTION

    \n-
    typedef struct ALLEGRO_CONFIG_SECTION ALLEGRO_CONFIG_SECTION;\n-typedef struct ALLEGRO_CONFIG_SECTION ALLEGRO_CONFIG_SECTION;
    \n+
    typedef struct ALLEGRO_CONFIG_SECTION ALLEGRO_CONFIG_SECTION;
    \n

    Source\n Code

    \n

    An opaque structure used for iterating across sections in a\n configuration structure.

    \n

    See also: al_get_first_config_section,\n@@ -261,16 +259,15 @@\n href=\"config.html#al_get_next_config_section\">al_get_next_config_section

    \n

    Examples:

    \n
      \n
    • ex_config.c
    • \n
    \n

    ALLEGRO_CONFIG_ENTRY

    \n-
    typedef struct ALLEGRO_CONFIG_ENTRY ALLEGRO_CONFIG_ENTRY;\n-typedef struct ALLEGRO_CONFIG_ENTRY ALLEGRO_CONFIG_ENTRY;
    \n+
    typedef struct ALLEGRO_CONFIG_ENTRY ALLEGRO_CONFIG_ENTRY;
    \n

    Source\n Code

    \n

    An opaque structure used for iterating across entries in a\n configuration section.

    \n

    See also: al_get_first_config_entry,\n@@ -567,12 +564,12 @@\n

    Merge one configuration structure into another. Values in\n configuration \u2018add\u2019 override those in \u2018master\u2019. \u2018master\u2019 is modified.\n Comments from \u2018add\u2019 are not retained.

    \n

    See also: al_merge_config

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:54 UTC\n+ - Last updated: 2024-01-07 09:01:09 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -105,33 +105,30 @@\n printf(\"%s\\n\", al_get_config_value(cfg, \"weapon 0\", \"damage\")); /* Prints: 443\n */\n printf(\"%s\\n\", al_get_config_value(cfg, \"weapon 1\", \"damage\")); /* Prints: 503\n */\n al_destroy_config(cfg);\n ****** ALLEGRO_CONFIG ******\n typedef struct ALLEGRO_CONFIG ALLEGRO_CONFIG;\n-typedef struct ALLEGRO_CONFIG ALLEGRO_CONFIG;\n Source_Code\n An abstract configuration structure.\n Examples:\n * ex_config.c\n * ex_vsync.c\n * ex_stream_seek.c\n ****** ALLEGRO_CONFIG_SECTION ******\n typedef struct ALLEGRO_CONFIG_SECTION ALLEGRO_CONFIG_SECTION;\n-typedef struct ALLEGRO_CONFIG_SECTION ALLEGRO_CONFIG_SECTION;\n Source_Code\n An opaque structure used for iterating across sections in a configuration\n structure.\n See also: al_get_first_config_section, al_get_next_config_section\n Examples:\n * ex_config.c\n ****** ALLEGRO_CONFIG_ENTRY ******\n typedef struct ALLEGRO_CONFIG_ENTRY ALLEGRO_CONFIG_ENTRY;\n-typedef struct ALLEGRO_CONFIG_ENTRY ALLEGRO_CONFIG_ENTRY;\n Source_Code\n An opaque structure used for iterating across entries in a configuration\n section.\n See also: al_get_first_config_entry, al_get_next_config_entry\n Examples:\n * ex_config.c\n ****** al_create_config ******\n@@ -300,8 +297,8 @@\n ****** al_merge_config_into ******\n void al_merge_config_into(ALLEGRO_CONFIG *master, const ALLEGRO_CONFIG *add)\n Source_Code\n Merge one configuration structure into another. Values in configuration\n \u00e2\u0080\u0098add\u00e2\u0080\u0099 override those in \u00e2\u0080\u0098master\u00e2\u0080\u0099. \u00e2\u0080\u0098master\u00e2\u0080\u0099 is modified. Comments\n from \u00e2\u0080\u0098add\u00e2\u0080\u0099 are not retained.\n See also: al_merge_config\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:54 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:09 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/direct3d.html", "source2": "./usr/share/doc/allegro5-doc/refman/direct3d.html", "unified_diff": "@@ -297,12 +297,12 @@\n is restored. In the callback you should restore any d3d resources you\n have created yourself. The callback receives the affected display as a\n parameter.

    \n

    Pass NULL to disable the callback.

    \n

    Since: 5.1.0

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:57 UTC\n+ - Last updated: 2024-01-07 09:01:14 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -132,8 +132,8 @@\n void (*callback)(ALLEGRO_DISPLAY *display))\n Source_Code\n The callback will be called whenever a D3D device that has been reset is\n restored. In the callback you should restore any d3d resources you have created\n yourself. The callback receives the affected display as a parameter.\n Pass NULL to disable the callback.\n Since: 5.1.0\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:57 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:14 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/display.html", "source2": "./usr/share/doc/allegro5-doc/refman/display.html", "unified_diff": "@@ -293,16 +293,15 @@\n example.

    \n

    In order to write a well-behaved application, it is necessary to\n remember that displays will also inform you about important events via their event sources.

    \n

    Display creation

    \n

    ALLEGRO_DISPLAY

    \n-
    typedef struct ALLEGRO_DISPLAY ALLEGRO_DISPLAY;\n-typedef struct ALLEGRO_DISPLAY ALLEGRO_DISPLAY;
    \n+
    typedef struct ALLEGRO_DISPLAY ALLEGRO_DISPLAY;
    \n

    Source\n Code

    \n

    An opaque type representing an open display or window.

    \n

    Examples:

    \n
      \n
    • Examples:

      \n
        \n
      • ex_window_title.c
      • \n
      \n ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE\n-
      #define ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE 255\n-#define ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE 255
      \n+
      #define ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE 255
      \n

      Source\n Code

      \n

      This is the maximum size of the title that can be set with al_set_new_window_title.

      \n

      See also: al_set_new_window_title

      \n@@ -1502,12 +1500,12 @@\n

      Examples:

      \n
        \n
      • ex_clipboard.c
      • \n
      \n

      \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:54 UTC\n+ - Last updated: 2024-01-07 09:01:09 UTC\n

      \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -126,15 +126,14 @@\n provides integration for both (see the OpenGL / Direct3D sections), so you can\n retrieve the underlying textures of ALLEGRO_BITMAPs, for example.\n In order to write a well-behaved application, it is necessary to remember that\n displays will also inform you about important events via their event_sources.\n ****** Display creation ******\n ***** ALLEGRO_DISPLAY *****\n typedef struct ALLEGRO_DISPLAY ALLEGRO_DISPLAY;\n-typedef struct ALLEGRO_DISPLAY ALLEGRO_DISPLAY;\n Source_Code\n An opaque type representing an open display or window.\n Examples:\n * ex_monitorinfo.c\n * ex_d3d.cpp\n * ex_keyboard_focus.c\n ***** al_create_display *****\n@@ -721,15 +720,14 @@\n See also: al_set_window_title, al_get_new_window_title, al_create_display,\n ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE\n Since: 5.1.12\n Examples:\n * ex_window_title.c\n ***** ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE *****\n #define ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE 255\n-#define ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE 255\n Source_Code\n This is the maximum size of the title that can be set with\n al_set_new_window_title.\n See also: al_set_new_window_title\n Since: 5.1.12\n ***** al_get_new_window_title *****\n const char *al_get_new_window_title(void)\n@@ -831,8 +829,8 @@\n bool al_clipboard_has_text(ALLEGRO_DISPLAY *display)\n Source_Code\n This function returns true if and only if the clipboard has text available.\n Since: 5.1.12\n See also: al_set_clipboard_text, al_get_clipboard_text\n Examples:\n * ex_clipboard.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:54 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:09 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/events.html", "source2": "./usr/share/doc/allegro5-doc/refman/events.html", "unified_diff": "@@ -281,16 +281,15 @@\n union according to the event type.

      \n

      In addition to the events sent by Allegro core, there\u2019s also events\n send by the addons, see ALLEGRO_AUDIO_EVENT_TYPE\n and ALLEGRO_VIDEO_EVENT_TYPE.

      \n

      ALLEGRO_EVENT

      \n-
      typedef union ALLEGRO_EVENT ALLEGRO_EVENT;\n-typedef union ALLEGRO_EVENT ALLEGRO_EVENT;
      \n+
      typedef union ALLEGRO_EVENT ALLEGRO_EVENT;
      \n

      Source\n Code

      \n

      An ALLEGRO_EVENT is a union of all builtin event structures, i.e.\u00a0it\n is an object large enough to hold the data of any event type. All events\n have the following fields in common:

      \n
      \n@@ -926,16 +925,15 @@\n
      \n
      display.source (ALLEGRO_DISPLAY *)
      \n
      \n The display which was disconnected.\n
      \n
      \n

      ALLEGRO_USER_EVENT

      \n-
      typedef struct ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT;\n-typedef struct ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT;
      \n+
      typedef struct ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT;
      \n

      Source\n Code

      \n

      An event structure that can be emitted by user event sources. These\n are the public fields:

      \n
        \n
      • ALLEGRO_EVENT_SOURCE *source;
      • \n@@ -976,16 +974,15 @@\n href=\"events.html#al_init_user_event_source\">al_init_user_event_source

        \n

        Examples:

        \n
          \n
        • ex_user_events.c
        • \n
        \n

        ALLEGRO_EVENT_QUEUE

        \n-
        typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE;\n-typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE;
        \n+
        typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE;
        \n

        Source\n Code

        \n

        An event queue holds events that have been generated by event sources\n that are registered with the queue. Events are stored in the order they\n are generated. Access is in a strictly FIFO (first-in-first-out)\n order.

        \n@@ -998,16 +995,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_inject_events.c#L18\">ex_inject_events.c\n
      • ex_enet_server.c
      • \n
      • ex_timer_pause.c
      • \n
      \n

      ALLEGRO_EVENT_SOURCE

      \n-
      typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE;\n-typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE;
      \n+
      typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE;
      \n

      Source\n Code

      \n

      An event source is any object which can generate events. For example,\n an ALLEGRO_DISPLAY can generate events, and you can get the\n ALLEGRO_EVENT_SOURCE pointer from an ALLEGRO_DISPLAY with al_get_display_event_source.

      \n@@ -1022,26 +1018,24 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_inject_events.c#L17\">ex_inject_events.c
    • \n
    • ex_user_events.c
    • \n
    • nihgui.cpp
    • \n
    \n

    ALLEGRO_EVENT_TYPE

    \n-
    typedef unsigned int ALLEGRO_EVENT_TYPE;\n-typedef unsigned int ALLEGRO_EVENT_TYPE;
    \n+
    typedef unsigned int ALLEGRO_EVENT_TYPE;
    \n

    Source\n Code

    \n

    An integer used to distinguish between different types of events.

    \n

    See also: ALLEGRO_EVENT, ALLEGRO_GET_EVENT_TYPE, ALLEGRO_EVENT_TYPE_IS_USER

    \n

    ALLEGRO_GET_EVENT_TYPE

    \n-
    #define ALLEGRO_GET_EVENT_TYPE(a, b, c, d)   AL_ID(a, b, c, d)\n-#define ALLEGRO_GET_EVENT_TYPE(a, b, c, d)   AL_ID(a, b, c, d)
    \n+
    #define ALLEGRO_GET_EVENT_TYPE(a, b, c, d)   AL_ID(a, b, c, d)
    \n

    Source\n Code

    \n

    Make an event type identifier, which is a 32-bit integer. Usually,\n but not necessarily, this will be made from four 8-bit character codes,\n for example:

    \n
    Examples:\n@@ -1068,16 +1062,15 @@\n    MEOW_EVENT,\n    SQUAWK_EVENT\n };
    \n

    See also: ALLEGRO_EVENT, ALLEGRO_USER_EVENT, ALLEGRO_EVENT_TYPE_IS_USER

    \n

    ALLEGRO_EVENT_TYPE_IS_USER

    \n-
    #define ALLEGRO_EVENT_TYPE_IS_USER(t)        ((t) >= 512)\n-#define ALLEGRO_EVENT_TYPE_IS_USER(t)        ((t) >= 512)
    \n+
    #define ALLEGRO_EVENT_TYPE_IS_USER(t)        ((t) >= 512)
    \n

    Source\n Code

    \n

    A macro which evaluates to true if the event type is not a builtin\n event type, i.e.\u00a0one of those described in ALLEGRO_EVENT_TYPE.

    \n

    al_create_event_queue

    \n@@ -1511,12 +1504,12 @@\n

    Assign the abstract user data to the event source. Allegro does not\n use the data internally for anything; it is simply meant as a convenient\n way to associate your own data or objects with events.

    \n

    See also: al_get_event_source_data

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:54 UTC\n+ - Last updated: 2024-01-07 09:01:09 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -121,15 +121,14 @@\n events that can be generated by user-defined event sources.\n The appropriate reaction to an event is determined by examining the fields of\n the ALLEGRO_EVENT union according to the event type.\n In addition to the events sent by Allegro core, there\u00e2\u0080\u0099s also events send by\n the addons, see ALLEGRO_AUDIO_EVENT_TYPE and ALLEGRO_VIDEO_EVENT_TYPE.\n ****** ALLEGRO_EVENT ******\n typedef union ALLEGRO_EVENT ALLEGRO_EVENT;\n-typedef union ALLEGRO_EVENT ALLEGRO_EVENT;\n Source_Code\n An ALLEGRO_EVENT is a union of all builtin event structures, i.e.\u00c2\u00a0it is an\n object large enough to hold the data of any event type. All events have the\n following fields in common:\n type (ALLEGRO_EVENT_TYPE)\n Indicates the type of event.\n any.source (ALLEGRO_EVENT_SOURCE *)\n@@ -469,15 +468,14 @@\n This event is sent when a physical display is disconnected from the device\n Allegro runs on. Currently, on most platforms, Allegro supports only a single\n physical display. However, on iOS, a secondary physical display is supported.\n display.source (ALLEGRO_DISPLAY *)\n The display which was disconnected.\n ****** ALLEGRO_USER_EVENT ******\n typedef struct ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT;\n-typedef struct ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT;\n Source_Code\n An event structure that can be emitted by user event sources. These are the\n public fields:\n * ALLEGRO_EVENT_SOURCE *source;\n * intptr_t data1;\n * intptr_t data2;\n * intptr_t data3;\n@@ -505,46 +503,42 @@\n documentation for ALLEGRO_GET_EVENT_TYPE for the rules you should follow when\n assigning identifiers.\n See also: al_emit_user_event, ALLEGRO_GET_EVENT_TYPE, al_init_user_event_source\n Examples:\n * ex_user_events.c\n ****** ALLEGRO_EVENT_QUEUE ******\n typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE;\n-typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE;\n Source_Code\n An event queue holds events that have been generated by event sources that are\n registered with the queue. Events are stored in the order they are generated.\n Access is in a strictly FIFO (first-in-first-out) order.\n See also: al_create_event_queue, al_destroy_event_queue\n Examples:\n * ex_inject_events.c\n * ex_enet_server.c\n * ex_timer_pause.c\n ****** ALLEGRO_EVENT_SOURCE ******\n typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE;\n-typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE;\n Source_Code\n An event source is any object which can generate events. For example, an\n ALLEGRO_DISPLAY can generate events, and you can get the ALLEGRO_EVENT_SOURCE\n pointer from an ALLEGRO_DISPLAY with al_get_display_event_source.\n You may create your own \u00e2\u0080\u009cuser\u00e2\u0080\u009d event sources that emit custom events.\n See also: ALLEGRO_EVENT, al_init_user_event_source, al_emit_user_event\n Examples:\n * ex_inject_events.c\n * ex_user_events.c\n * nihgui.cpp\n ****** ALLEGRO_EVENT_TYPE ******\n typedef unsigned int ALLEGRO_EVENT_TYPE;\n-typedef unsigned int ALLEGRO_EVENT_TYPE;\n Source_Code\n An integer used to distinguish between different types of events.\n See also: ALLEGRO_EVENT, ALLEGRO_GET_EVENT_TYPE, ALLEGRO_EVENT_TYPE_IS_USER\n ****** ALLEGRO_GET_EVENT_TYPE ******\n #define ALLEGRO_GET_EVENT_TYPE(a, b, c, d) AL_ID(a, b, c, d)\n-#define ALLEGRO_GET_EVENT_TYPE(a, b, c, d) AL_ID(a, b, c, d)\n Source_Code\n Make an event type identifier, which is a 32-bit integer. Usually, but not\n necessarily, this will be made from four 8-bit character codes, for example:\n Examples:\n \n * [ex_user_events.c](https://github.com/liballeg/allegro5/blob/master/examples/\n ex_user_events.c#L10)\n@@ -567,15 +561,14 @@\n BARK_EVENT = ALLEGRO_GET_EVENT_TYPE('M','I','N','E'),\n MEOW_EVENT,\n SQUAWK_EVENT\n };\n See also: ALLEGRO_EVENT, ALLEGRO_USER_EVENT, ALLEGRO_EVENT_TYPE_IS_USER\n ****** ALLEGRO_EVENT_TYPE_IS_USER ******\n #define ALLEGRO_EVENT_TYPE_IS_USER(t) ((t) >= 512)\n-#define ALLEGRO_EVENT_TYPE_IS_USER(t) ((t) >= 512)\n Source_Code\n A macro which evaluates to true if the event type is not a builtin event type,\n i.e.\u00c2\u00a0one of those described in ALLEGRO_EVENT_TYPE.\n ****** al_create_event_queue ******\n ALLEGRO_EVENT_QUEUE *al_create_event_queue(void)\n Source_Code\n Create a new, empty event queue, returning a pointer to the newly created\n@@ -829,8 +822,8 @@\n ****** al_set_event_source_data ******\n void al_set_event_source_data(ALLEGRO_EVENT_SOURCE *source, intptr_t data)\n Source_Code\n Assign the abstract user data to the event source. Allegro does not use the\n data internally for anything; it is simply meant as a convenient way to\n associate your own data or objects with events.\n See also: al_get_event_source_data\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:54 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:09 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/file.html", "source2": "./usr/share/doc/allegro5-doc/refman/file.html", "unified_diff": "@@ -215,16 +215,15 @@\n
  • al_get_file_userdata
  • \n \n \n \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    ALLEGRO_FILE

    \n-
    typedef struct ALLEGRO_FILE ALLEGRO_FILE;\n-typedef struct ALLEGRO_FILE ALLEGRO_FILE;
    \n+
    typedef struct ALLEGRO_FILE ALLEGRO_FILE;
    \n

    Source\n Code

    \n

    An opaque object representing an open file. This could be a real file\n on disk or a virtual file.

    \n

    Examples:

    \n
      \n@@ -232,16 +231,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_file.c#L23\">ex_file.c\n
    • ex_dir.c
    • \n
    • ex_memfile.c
    • \n
    \n

    ALLEGRO_FILE_INTERFACE

    \n-
    typedef struct ALLEGRO_FILE_INTERFACE\n-typedef struct ALLEGRO_FILE_INTERFACE
    \n+
    typedef struct ALLEGRO_FILE_INTERFACE
    \n

    Source\n Code

    \n

    A structure containing function pointers to handle a type of \u201cfile\u201d,\n real or virtual. See the full discussion in al_set_new_file_interface.

    \n

    The fields are:

    \n@@ -272,16 +270,15 @@\n char long buffer will be used.

    \n

    Examples:

    \n
      \n
    • ex_curl.c
    • \n
    \n

    ALLEGRO_SEEK

    \n-
    typedef enum ALLEGRO_SEEK\n-typedef enum ALLEGRO_SEEK
    \n+
    typedef enum ALLEGRO_SEEK
    \n

    Source\n Code

    \n
      \n
    • ALLEGRO_SEEK_SET - seek relative to beginning of file
    • \n
    • ALLEGRO_SEEK_CUR - seek relative to current file position
    • \n
    • ALLEGRO_SEEK_END - seek relative to end of file
    • \n@@ -957,12 +954,12 @@\n

      Examples:

      \n
        \n
      • ex_curl.c
      • \n
      \n

      \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:54 UTC\n+ - Last updated: 2024-01-07 09:01:10 UTC\n

      \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -89,25 +89,23 @@\n o al_get_new_file_interface\n o al_create_file_handle\n o al_get_file_userdata\n These functions are declared in the main Allegro header file:\n #include \n ****** ALLEGRO_FILE ******\n typedef struct ALLEGRO_FILE ALLEGRO_FILE;\n-typedef struct ALLEGRO_FILE ALLEGRO_FILE;\n Source_Code\n An opaque object representing an open file. This could be a real file on disk\n or a virtual file.\n Examples:\n * ex_file.c\n * ex_dir.c\n * ex_memfile.c\n ****** ALLEGRO_FILE_INTERFACE ******\n typedef struct ALLEGRO_FILE_INTERFACE\n-typedef struct ALLEGRO_FILE_INTERFACE\n Source_Code\n A structure containing function pointers to handle a type of \u00e2\u0080\u009cfile\u00e2\u0080\u009d, real\n or virtual. See the full discussion in al_set_new_file_interface.\n The fields are:\n void* (*fi_fopen)(const char *path, const char *mode);\n bool (*fi_fclose)(ALLEGRO_FILE *f);\n size_t (*fi_fread)(ALLEGRO_FILE *f, void *ptr, size_t size);\n@@ -130,15 +128,14 @@\n free the ALLEGRO_FILE handle.\n If fi_fungetc is NULL, then Allegro\u00e2\u0080\u0099s default implementation of a 16 char\n long buffer will be used.\n Examples:\n * ex_curl.c\n ****** ALLEGRO_SEEK ******\n typedef enum ALLEGRO_SEEK\n-typedef enum ALLEGRO_SEEK\n Source_Code\n * ALLEGRO_SEEK_SET - seek relative to beginning of file\n * ALLEGRO_SEEK_CUR - seek relative to current file position\n * ALLEGRO_SEEK_END - seek relative to end of file\n See also: al_fseek\n Examples:\n * ex_file.c\n@@ -553,8 +550,8 @@\n ***** al_get_file_userdata *****\n void *al_get_file_userdata(ALLEGRO_FILE *f)\n Source_Code\n Returns a pointer to the custom userdata that is attached to the file handle.\n This is intended to be used by functions that extend ALLEGRO_FILE_INTERFACE.\n Examples:\n * ex_curl.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:54 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:10 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/fixed.html", "source2": "./usr/share/doc/allegro5-doc/refman/fixed.html", "unified_diff": "@@ -190,16 +190,15 @@\n
    • al_fixhypot
    • \n
    \n \n \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    al_fixed

    \n-
    typedef int32_t al_fixed;\n-typedef int32_t al_fixed;
    \n+
    typedef int32_t al_fixed;
    \n

    Source\n Code

    \n

    A fixed point number.

    \n

    Allegro provides some routines for working with fixed point numbers,\n and defines the type al_fixed to be a signed 32-bit\n integer. The high word is used for the integer part and the low word for\n@@ -656,12 +655,12 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/src/math.c#L321\">Source\n Code

    \n

    Fixed point hypotenuse (returns the square root of\n x*x + y*y). This should be better than calculating the\n formula yourself manually, since the error is much smaller.

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:55 UTC\n+ - Last updated: 2024-01-07 09:01:10 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -70,15 +70,14 @@\n o al_fixatan2\n o al_fixsqrt\n o al_fixhypot\n These functions are declared in the main Allegro header file:\n #include \n ****** al_fixed ******\n typedef int32_t al_fixed;\n-typedef int32_t al_fixed;\n Source_Code\n A fixed point number.\n Allegro provides some routines for working with fixed point numbers, and\n defines the type al_fixed to be a signed 32-bit integer. The high word is used\n for the integer part and the low word for the fraction, giving a range of -\n 32768 to 32767 and an accuracy of about four or five decimal places. Fixed\n point numbers can be assigned, compared, added, subtracted, negated and shifted\n@@ -440,8 +439,8 @@\n errno is set to EDOM and the function returns zero.\n ***** al_fixhypot *****\n al_fixed al_fixhypot(al_fixed x, al_fixed y)\n Source_Code\n Fixed point hypotenuse (returns the square root of x*x + y*y). This should be\n better than calculating the formula yourself manually, since the error is much\n smaller.\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:55 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:10 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/font.html", "source2": "./usr/share/doc/allegro5-doc/refman/font.html", "unified_diff": "@@ -237,16 +237,15 @@\n \n \n

    These functions are declared in the following header file. Link with\n allegro_font.

    \n
     #include <allegro5/allegro_font.h>
    \n

    General font routines

    \n

    ALLEGRO_FONT

    \n-
    typedef struct ALLEGRO_FONT ALLEGRO_FONT;\n-typedef struct ALLEGRO_FONT ALLEGRO_FONT;
    \n+
    typedef struct ALLEGRO_FONT ALLEGRO_FONT;
    \n

    Source\n Code

    \n

    A handle identifying any kind of font. Usually you will create it\n with al_load_font which supports\n loading all kinds of TrueType fonts supported by the FreeType library.\n If you instead pass the filename of a bitmap file, it will be loaded\n@@ -259,16 +258,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_disable_screensaver.c#L10\">ex_disable_screensaver.c\n

  • ex_font_justify.cpp
  • \n
  • ex_display_events.c
  • \n \n

    ALLEGRO_GLYPH

    \n-
    typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH;\n-typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH;
    \n+
    typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH;
    \n

    Source\n Code

    \n

    A structure containing the properties of a character in a font.

    \n
    typedef struct ALLEGRO_GLYPH {\n    ALLEGRO_BITMAP *bitmap;   // the bitmap the character is on\n    int x;                    // the x position of the glyph on bitmap\n@@ -299,16 +297,15 @@\n 

    See also: al_get_glyph

    \n

    Examples:

    \n
      \n
    • ex_ttf.c
    • \n
    \n

    al_init_font_addon

    \n-
    bool al_init_font_addon(void)\n-bool al_init_font_addon(void)
    \n+
    bool al_init_font_addon(void)
    \n

    Source\n Code

    \n

    Initialise the font addon.

    \n

    Note that if you intend to load bitmap fonts, you will need to\n initialise allegro_image separately (unless you are using another\n library to load images).

    \n@@ -328,38 +325,35 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_disable_screensaver.c#L28\">ex_disable_screensaver.c\n
  • ex_font_justify.cpp
  • \n
  • ex_display_events.c
  • \n \n

    al_is_font_addon_initialized

    \n-
    bool al_is_font_addon_initialized(void)\n-bool al_is_font_addon_initialized(void)
    \n+
    bool al_is_font_addon_initialized(void)
    \n

    Source\n Code

    \n

    Returns true if the font addon is initialized, otherwise returns\n false.

    \n

    Since: 5.2.6

    \n

    See also: al_init_font_addon, al_shutdown_font_addon

    \n

    al_shutdown_font_addon

    \n-
    void al_shutdown_font_addon(void)\n-void al_shutdown_font_addon(void)
    \n+
    void al_shutdown_font_addon(void)
    \n

    Source\n Code

    \n

    Shut down the font addon. This is done automatically at program exit,\n but can be called any time the user wishes as well.

    \n

    See also: al_init_font_addon

    \n

    al_load_font

    \n-
    ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags)\n-ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags)
    \n+
    ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags)
    \n

    Source\n Code

    \n

    Loads a font from disk. This will use al_load_bitmap_font_flags\n if you pass the name of a known bitmap format, or else al_load_ttf_font.

    \n@@ -378,16 +372,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_font_justify.cpp#L116\">ex_font_justify.cpp\n
  • ex_membmp.c
  • \n
  • ex_window_title.c
  • \n \n

    al_destroy_font

    \n-
    void al_destroy_font(ALLEGRO_FONT *f)\n-void al_destroy_font(ALLEGRO_FONT *f)
    \n+
    void al_destroy_font(ALLEGRO_FONT *f)
    \n

    Source\n Code

    \n

    Frees the memory being used by a font structure. Does nothing if\n passed NULL.

    \n

    See also: al_load_font

    \n

    Examples:

    \n@@ -397,33 +390,30 @@\n
  • ex_font_justify.cpp
  • \n
  • ex_cpu.c
  • \n \n

    al_register_font_loader

    \n
    bool al_register_font_loader(char const *extension,\n-   ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags))\n-bool al_register_font_loader(char const *extension,\n-   ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags))
    \n+ ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags))
    \n

    Source\n Code

    \n

    Informs Allegro of a new font file type, telling it how to load files\n of this format.

    \n

    The extension should include the leading dot (\u2018.\u2019)\n character. It will be matched case-insensitively.

    \n

    The load_font argument may be NULL to unregister an\n entry.

    \n

    Returns true on success, false on error. Returns false if\n unregistering an entry that doesn\u2019t exist.

    \n

    See also: al_init_font_addon

    \n

    al_get_font_line_height

    \n-
    int al_get_font_line_height(const ALLEGRO_FONT *f)\n-int al_get_font_line_height(const ALLEGRO_FONT *f)
    \n+
    int al_get_font_line_height(const ALLEGRO_FONT *f)
    \n

    Source\n Code

    \n

    Returns the usual height of a line of text in the specified font. For\n bitmap fonts this is simply the height of all glyph bitmaps. For\n truetype fonts it is whatever the font file specifies. In particular,\n some special glyphs may be higher than the height returned here.

    \n@@ -449,46 +439,43 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_font_justify.cpp#L78\">ex_font_justify.cpp\n
  • ex_membmp.c
  • \n
  • ex_mouse_warp.c
  • \n \n

    al_get_font_ascent

    \n-
    int al_get_font_ascent(const ALLEGRO_FONT *f)\n-int al_get_font_ascent(const ALLEGRO_FONT *f)
    \n+
    int al_get_font_ascent(const ALLEGRO_FONT *f)
    \n

    Source\n Code

    \n

    Returns the ascent of the specified font.

    \n

    See also: al_get_font_descent, al_get_font_line_height

    \n

    Examples:

    \n
      \n
    • ex_ttf.c
    • \n
    \n

    al_get_font_descent

    \n-
    int al_get_font_descent(const ALLEGRO_FONT *f)\n-int al_get_font_descent(const ALLEGRO_FONT *f)
    \n+
    int al_get_font_descent(const ALLEGRO_FONT *f)
    \n

    Source\n Code

    \n

    Returns the descent of the specified font.

    \n

    See also: al_get_font_ascent, al_get_font_line_height

    \n

    Examples:

    \n
      \n
    • ex_ttf.c
    • \n
    \n

    al_get_text_width

    \n-
    int al_get_text_width(const ALLEGRO_FONT *f, const char *str)\n-int al_get_text_width(const ALLEGRO_FONT *f, const char *str)
    \n+
    int al_get_text_width(const ALLEGRO_FONT *f, const char *str)
    \n

    Source\n Code

    \n

    Calculates the length of a string in a particular font, in\n pixels.

    \n

    See also: al_get_ustr_width, ex_display_options.c\n

  • ex_record_name.c
  • \n
  • ex_color_gradient.c
  • \n \n

    al_get_ustr_width

    \n-
    int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)\n-int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)
    \n+
    int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)
    \n

    Source\n Code

    \n

    Like al_get_text_width but\n expects an ALLEGRO_USTR.

    \n

    See also: al_get_text_width, \n

  • nihgui.cpp
  • \n \n

    al_draw_text

    \n
    void al_draw_text(const ALLEGRO_FONT *font,\n    ALLEGRO_COLOR color, float x, float y, int flags,\n-   char const *text) \n-void al_draw_text(const ALLEGRO_FONT *font,\n-   ALLEGRO_COLOR color, float x, float y, int flags,\n-   char const *text) 
    \n+ char const *text) \n

    Source\n Code

    \n

    Writes the NUL-terminated string text onto the target\n bitmap at position x, y, using the specified\n font.

    \n

    The flags parameter can be 0 or one of the following\n@@ -563,18 +546,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_display_events.c#L67\">ex_display_events.c\n

  • ex_membmp.c
  • \n \n

    al_draw_ustr

    \n
    void al_draw_ustr(const ALLEGRO_FONT *font,\n    ALLEGRO_COLOR color, float x, float y, int flags,\n-   const ALLEGRO_USTR *ustr) \n-void al_draw_ustr(const ALLEGRO_FONT *font,\n-   ALLEGRO_COLOR color, float x, float y, int flags,\n-   const ALLEGRO_USTR *ustr) 
    \n+ const ALLEGRO_USTR *ustr) \n

    Source\n Code

    \n

    Like al_draw_text, except the\n text is passed as an ALLEGRO_USTR instead of a NUL-terminated char\n array.

    \n

    See also: al_draw_text, nihgui.cpp\n

  • ex_blend.c
  • \n \n

    al_draw_justified_text

    \n
    void al_draw_justified_text(const ALLEGRO_FONT *font,\n    ALLEGRO_COLOR color, float x1, float x2,\n-   float y, float diff, int flags, const char *text)\n-void al_draw_justified_text(const ALLEGRO_FONT *font,\n-   ALLEGRO_COLOR color, float x1, float x2,\n-   float y, float diff, int flags, const char *text)
    \n+ float y, float diff, int flags, const char *text)\n

    Source\n Code

    \n

    Like al_draw_text, but justifies\n the string to the region x1-x2.

    \n

    The diff parameter is the maximum amount of horizontal\n space to allow between words. If justisfying the text would exceed\n@@ -618,35 +595,29 @@\n

      \n
    • ex_font_justify.cpp
    • \n
    \n

    al_draw_justified_ustr

    \n
    void al_draw_justified_ustr(const ALLEGRO_FONT *font,\n    ALLEGRO_COLOR color, float x1, float x2,\n-   float y, float diff, int flags, const ALLEGRO_USTR *ustr)\n-void al_draw_justified_ustr(const ALLEGRO_FONT *font,\n-   ALLEGRO_COLOR color, float x1, float x2,\n-   float y, float diff, int flags, const ALLEGRO_USTR *ustr)
    \n+ float y, float diff, int flags, const ALLEGRO_USTR *ustr)\n

    Source\n Code

    \n

    Like al_draw_justified_text,\n except the text is passed as an ALLEGRO_USTR instead of a NUL-terminated\n char array.

    \n

    See also: al_draw_justified_text, al_draw_justified_textf.

    \n

    al_draw_textf

    \n
    void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color,\n    float x, float y, int flags,\n-   const char *format, ...)\n-void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color,\n-   float x, float y, int flags,\n-   const char *format, ...)
    \n+ const char *format, ...)\n

    Source\n Code

    \n

    Formatted text output, using a printf() style format string. All\n parameters have the same meaning as with al_draw_text otherwise.

    \n

    See also: al_draw_text, ex_display_events.c\n

  • ex_cpu.c
  • \n \n

    al_draw_justified_textf

    \n
    void al_draw_justified_textf(const ALLEGRO_FONT *f,\n    ALLEGRO_COLOR color, float x1, float x2, float y,\n-   float diff, int flags, const char *format, ...)\n-void al_draw_justified_textf(const ALLEGRO_FONT *f,\n-   ALLEGRO_COLOR color, float x1, float x2, float y,\n-   float diff, int flags, const char *format, ...)
    \n+ float diff, int flags, const char *format, ...)\n

    Source\n Code

    \n

    Formatted text output, using a printf() style format string. All\n parameters have the same meaning as with al_draw_justified_text\n otherwise.

    \n

    See also: al_draw_justified_text, al_draw_justified_ustr.

    \n

    al_get_text_dimensions

    \n
    void al_get_text_dimensions(const ALLEGRO_FONT *f,\n    char const *text,\n-   int *bbx, int *bby, int *bbw, int *bbh)\n-void al_get_text_dimensions(const ALLEGRO_FONT *f,\n-   char const *text,\n-   int *bbx, int *bby, int *bbw, int *bbh)
    \n+ int *bbx, int *bby, int *bbw, int *bbh)\n

    Source\n Code

    \n

    Sometimes, the al_get_text_width and al_get_font_line_height\n functions are not enough for exact text placement, so this function\n@@ -709,38 +674,33 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_ttf.c#L210\">ex_ttf.c\n

  • ex_logo.c
  • \n \n

    al_get_ustr_dimensions

    \n
    void al_get_ustr_dimensions(const ALLEGRO_FONT *f,\n    ALLEGRO_USTR const *ustr,\n-   int *bbx, int *bby, int *bbw, int *bbh)\n-void al_get_ustr_dimensions(const ALLEGRO_FONT *f,\n-   ALLEGRO_USTR const *ustr,\n-   int *bbx, int *bby, int *bbw, int *bbh)
    \n+ int *bbx, int *bby, int *bbw, int *bbh)\n

    Source\n Code

    \n

    Like al_get_text_dimensions,\n except the text is passed as an ALLEGRO_USTR instead of a NUL-terminated\n char array.

    \n

    See also: al_get_text_dimensions

    \n

    al_get_allegro_font_version

    \n-
    uint32_t al_get_allegro_font_version(void)\n-uint32_t al_get_allegro_font_version(void)
    \n+
    uint32_t al_get_allegro_font_version(void)
    \n

    Source\n Code

    \n

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    \n

    al_get_font_ranges

    \n-
    int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges)\n-int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges)
    \n+
    int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges)
    \n

    Source\n Code

    \n

    Gets information about all glyphs contained in a font, as a list of\n ranges. Ranges have the same format as with al_grab_font_from_bitmap.

    \n

    ranges_count is the maximum number of ranges that will\n@@ -756,16 +716,15 @@\n href=\"font.html#al_grab_font_from_bitmap\">al_grab_font_from_bitmap

    \n

    Examples:

    \n
      \n
    • ex_ttf.c
    • \n
    \n

    al_set_fallback_font

    \n-
    void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback)\n-void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback)
    \n+
    void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback)
    \n

    Source\n Code

    \n

    Sets a font which is used instead if a character is not present. Can\n be chained, but make sure there is no loop as that would crash the\n application! Pass NULL to remove a fallback font again.

    \n

    Since: 5.1.12

    \n@@ -775,16 +734,15 @@\n href=\"font.html#al_draw_text\">al_draw_text

    \n

    Examples:

    \n
      \n
    • ex_ttf.c
    • \n
    \n

    al_get_fallback_font

    \n-
    ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font)\n-ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font)
    \n+
    ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font)
    \n

    Source\n Code

    \n

    Retrieves the fallback font for this font or NULL.

    \n

    Since: 5.1.12

    \n

    See also: al_set_fallback_font

    \n@@ -798,17 +756,15 @@\n

    And it\u2019s also possible to get the kerning to use between two glyphs.\n These per glyph functions have less overhead than Allegro\u2019s per string\n text drawing and dimensioning functions. So, with these functions you\n can write your own efficient and precise custom text drawing\n functions.

    \n

    al_draw_glyph

    \n
    void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float y,\n-   int codepoint)\n-void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float y,\n-   int codepoint)
    \n+ int codepoint)\n

    Source\n Code

    \n

    Draws the glyph that corresponds with codepoint in the\n given color using the given font. If\n font does not have such a glyph, nothing will be drawn.

    \n

    To draw a string as left to right horizontal text you will need to\n@@ -832,31 +788,28 @@\n

      \n
    • ex_font.c
    • \n
    • ex_ttf.c
    • \n
    \n

    al_get_glyph_width

    \n-
    int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint)\n-int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint)
    \n+
    int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint)
    \n

    Source\n Code

    \n

    This function returns the width in pixels of the glyph that\n corresponds with codepoint in the font font.\n Returns zero if the font does not have such a glyph.

    \n

    Since: 5.1.12

    \n

    See also: al_draw_glyph, al_get_glyph_dimensions, al_get_glyph_advance.

    \n

    al_get_glyph_dimensions

    \n
    bool al_get_glyph_dimensions(const ALLEGRO_FONT *f,\n-   int codepoint, int *bbx, int *bby, int *bbw, int *bbh)\n-bool al_get_glyph_dimensions(const ALLEGRO_FONT *f,\n-   int codepoint, int *bbx, int *bby, int *bbw, int *bbh)
    \n+ int codepoint, int *bbx, int *bby, int *bbw, int *bbh)\n

    Source\n Code

    \n

    Sometimes, the al_get_glyph_width or al_get_glyph_advance functions\n are not enough for exact glyph placement, so this function returns some\n@@ -910,16 +863,15 @@\n href=\"font.html#al_get_glyph_advance\">al_get_glyph_advance.

    \n

    Examples:

    \n
      \n
    • ex_ttf.c
    • \n
    \n

    al_get_glyph_advance

    \n-
    int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)\n-int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)
    \n+
    int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)
    \n

    Source\n Code

    \n

    This function returns by how much the x position should be advanced\n for left to right text drawing when the glyph that corresponds to\n codepoint1 has been drawn, and the glyph that corresponds to codepoint2\n will be the next to be drawn. This takes into consideration the\n@@ -990,18 +942,15 @@\n

  • ex_ttf.c
  • \n \n

    Multiline text drawing

    \n

    al_draw_multiline_text

    \n
    void al_draw_multiline_text(const ALLEGRO_FONT *font,\n      ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n-     int flags, const char *text)\n-void al_draw_multiline_text(const ALLEGRO_FONT *font,\n-     ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n-     int flags, const char *text)
    \n+ int flags, const char *text)\n

    Source\n Code

    \n

    Like al_draw_text, but this\n function supports drawing multiple lines of text. It will break\n text in lines based on its contents and the\n max_width parameter. The lines are then layed out\n@@ -1053,18 +1002,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_resize2.c#L61\">ex_resize2.c\n

  • ex_font_multiline.cpp
  • \n \n

    al_draw_multiline_ustr

    \n
    void al_draw_multiline_ustr(const ALLEGRO_FONT *font,\n      ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n-     int flags, const ALLEGRO_USTR *ustr)\n-void al_draw_multiline_ustr(const ALLEGRO_FONT *font,\n-     ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n-     int flags, const ALLEGRO_USTR *ustr)
    \n+ int flags, const ALLEGRO_USTR *ustr)\n

    Source\n Code

    \n

    Like al_draw_multiline_text,\n except the text is passed as an ALLEGRO_USTR instead of a NUL-terminated\n char array.

    \n@@ -1072,18 +1018,15 @@\n

    See also: al_draw_multiline_text, al_draw_multiline_textf, al_do_multiline_text

    \n

    al_draw_multiline_textf

    \n
    void al_draw_multiline_textf(const ALLEGRO_FONT *font,\n      ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n-     int flags, const char *format, ...)\n-void al_draw_multiline_textf(const ALLEGRO_FONT *font,\n-     ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n-     int flags, const char *format, ...)
    \n+ int flags, const char *format, ...)\n

    Source\n Code

    \n

    Formatted text output, using a printf() style format string. All\n parameters have the same meaning as with al_draw_multiline_text\n otherwise.

    \n@@ -1097,19 +1040,15 @@\n
  • ex_resize2.c
  • \n \n

    al_do_multiline_text

    \n
    void al_do_multiline_text(const ALLEGRO_FONT *font,\n    float max_width, const char *text,\n    bool (*cb)(int line_num, const char *line, int size, void *extra),\n-   void *extra)\n-void al_do_multiline_text(const ALLEGRO_FONT *font,\n-   float max_width, const char *text,\n-   bool (*cb)(int line_num, const char *line, int size, void *extra),\n-   void *extra)
    \n+ void *extra)\n

    Source\n Code

    \n

    This function processes the text and splits it into\n lines as al_draw_multiline_text\n would, and then calls the callback cb once for every line.\n@@ -1148,34 +1087,28 @@\n

  • ex_font_multiline.cpp
  • \n \n

    al_do_multiline_ustr

    \n
    void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width,\n    const ALLEGRO_USTR *ustr,\n    bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra),\n-   void *extra)\n-void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width,\n-   const ALLEGRO_USTR *ustr,\n-   bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra),\n-   void *extra)
    \n+ void *extra)\n

    Source\n Code

    \n

    Like al_do_multiline_text, but\n using ALLEGRO_USTR instead of a NUL-terminated char array for text.

    \n

    Since: 5.1.9

    \n

    See also: al_draw_multiline_ustr

    \n

    Bitmap fonts

    \n

    al_grab_font_from_bitmap

    \n
    ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp,\n-   int ranges_n, const int ranges[])\n-ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp,\n-   int ranges_n, const int ranges[])
    \n+ int ranges_n, const int ranges[])\n

    Source\n Code

    \n

    Creates a new font from an Allegro bitmap. You can delete the bitmap\n after the function returns as the font will contain a copy for\n itself.

    \n

    Parameters:

    \n@@ -1232,16 +1165,15 @@\n
      \n
    • ex_font.c
    • \n
    • ex_ttf.c
    • \n
    \n

    al_load_bitmap_font

    \n-
    ALLEGRO_FONT *al_load_bitmap_font(const char *fname)\n-ALLEGRO_FONT *al_load_bitmap_font(const char *fname)
    \n+
    ALLEGRO_FONT *al_load_bitmap_font(const char *fname)
    \n

    Source\n Code

    \n

    Load a bitmap font from a file. This is done by first calling al_load_bitmap_flags and\n then al_grab_font_from_bitmap.

    \n@@ -1260,16 +1192,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_bitmap_flip.c#L105\">ex_bitmap_flip.c\n
  • ex_mouse_cursor.c
  • \n
  • ex_record_name.c
  • \n \n

    al_load_bitmap_font_flags

    \n-
    ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags)\n-ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags)
    \n+
    ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags)
    \n

    Source\n Code

    \n

    Like al_load_bitmap_font\n but additionally takes a flags parameter which is a bitfield containing\n a combination of the following:

    \n
    \n@@ -1279,16 +1210,15 @@\n href=\"graphics.html#al_load_bitmap_flags\">al_load_bitmap_flags.\n \n
    \n

    See also: al_load_bitmap_font, al_load_bitmap_flags

    \n

    al_create_builtin_font

    \n-
    ALLEGRO_FONT *al_create_builtin_font(void)\n-ALLEGRO_FONT *al_create_builtin_font(void)
    \n+
    ALLEGRO_FONT *al_create_builtin_font(void)
    \n

    Source\n Code

    \n

    Creates a monochrome bitmap font (8x8 pixels per character).

    \n

    This font is primarily intended to be used for displaying information\n in environments or during early runtime states where no external font\n data is available or loaded (e.g.\u00a0for debugging).

    \n@@ -1314,16 +1244,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_cpu.c#L42\">ex_cpu.c\n \n

    TTF fonts

    \n

    These functions are declared in the following header file. Link with\n allegro_ttf.

    \n
     #include <allegro5/allegro_ttf.h>
    \n

    al_init_ttf_addon

    \n-
    bool al_init_ttf_addon(void)\n-bool al_init_ttf_addon(void)
    \n+
    bool al_init_ttf_addon(void)
    \n

    Source\n Code

    \n

    Call this after al_init_font_addon to make al_load_font recognize \u201c.ttf\u201d and\n other formats supported by ex_font_justify.cpp\n

  • ex_font_multiline.cpp
  • \n
  • ex_color.cpp
  • \n \n

    al_is_ttf_addon_initialized

    \n-
    bool al_is_ttf_addon_initialized(void)\n-bool al_is_ttf_addon_initialized(void)
    \n+
    bool al_is_ttf_addon_initialized(void)
    \n

    Source\n Code

    \n

    Returns true if the TTF addon is initialized, otherwise returns\n false.

    \n

    Since: 5.2.6

    \n

    See also: al_init_ttf_addon, al_shutdown_ttf_addon

    \n

    al_shutdown_ttf_addon

    \n-
    void al_shutdown_ttf_addon(void)\n-void al_shutdown_ttf_addon(void)
    \n+
    void al_shutdown_ttf_addon(void)
    \n

    Source\n Code

    \n

    Unloads the ttf addon again. You normally don\u2019t need to call\n this.

    \n

    al_load_ttf_font

    \n-
    ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags)\n-ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags)
    \n+
    ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags)
    \n

    Source\n Code

    \n

    Loads a TrueType font from a file using the FreeType library. Quoting\n from the FreeType FAQ this means support for many different font\n formats:

    \n

    TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF,\n@@ -1397,33 +1323,29 @@\n

  • ex_synth.cpp
  • \n
  • ex_audio_chain.cpp
  • \n \n

    al_load_ttf_font_f

    \n
    ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,\n-    char const *filename, int size, int flags)\n-ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,\n-    char const *filename, int size, int flags)
    \n+ char const *filename, int size, int flags)\n

    Source\n Code

    \n

    Like al_load_ttf_font, but\n the font is read from the file handle. The filename is only used to find\n possible additional files next to a font file.

    \n
    \n

    Note: The file handle is owned by the returned ALLEGRO_FONT\n object and must not be freed by the caller, as FreeType expects to be\n able to read from it at a later time.

    \n
    \n

    al_load_ttf_font_stretch

    \n
    ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h,\n-   int flags)\n-ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h,\n-   int flags)
    \n+ int flags)\n

    Source\n Code

    \n

    Like al_load_ttf_font,\n except it takes separate width and height parameters instead of a single\n size parameter.

    \n

    If the height is a positive value, and the width zero or positive,\n@@ -1436,17 +1358,15 @@\n negative, or if the height is negative while the width is positive.

    \n

    Since: 5.0.6, 5.1.0

    \n

    See also: al_load_ttf_font,\n al_load_ttf_font_stretch_f

    \n

    al_load_ttf_font_stretch_f

    \n
    ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file,\n-    char const *filename, int w, int h, int flags)\n-ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file,\n-    char const *filename, int w, int h, int flags)
    \n+ char const *filename, int w, int h, int flags)\n

    Source\n Code

    \n

    Like al_load_ttf_font_stretch,\n but the font is read from the file handle. The filename is only used to\n find possible additional files next to a font file.

    \n@@ -1455,24 +1375,22 @@\n object and must not be freed by the caller, as FreeType expects to be\n able to read from it at a later time.

    \n
    \n

    Since: 5.0.6, 5.1.0

    \n

    See also: al_load_ttf_font_stretch

    \n

    al_get_allegro_ttf_version

    \n-
    uint32_t al_get_allegro_ttf_version(void)\n-uint32_t al_get_allegro_ttf_version(void)
    \n+
    uint32_t al_get_allegro_ttf_version(void)
    \n

    Source\n Code

    \n

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    \n

    al_get_glyph

    \n-
    bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, ALLEGRO_GLYPH *glyph)\n-bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, ALLEGRO_GLYPH *glyph)
    \n+
    bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, ALLEGRO_GLYPH *glyph)
    \n

    Source\n Code

    \n

    Gets all the information about a glyph, including the bitmap, needed\n to draw it yourself. prev_codepoint is the codepoint in the string\n before the one you want to draw and is used for kerning. codepoint is\n the character you want to get info about. You should clear the \u2018glyph\u2019\n@@ -1489,12 +1407,12 @@\n

  • ex_font.c
  • \n
  • ex_ttf.c
  • \n \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:58 UTC\n+ - Last updated: 2024-01-07 09:01:15 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -101,28 +101,26 @@\n o al_get_glyph\n These functions are declared in the following header file. Link with\n allegro_font.\n #include \n ****** General font routines ******\n ***** ALLEGRO_FONT *****\n typedef struct ALLEGRO_FONT ALLEGRO_FONT;\n-typedef struct ALLEGRO_FONT ALLEGRO_FONT;\n Source_Code\n A handle identifying any kind of font. Usually you will create it with\n al_load_font which supports loading all kinds of TrueType fonts supported by\n the FreeType library. If you instead pass the filename of a bitmap file, it\n will be loaded with al_load_bitmap and a font in Allegro\u00e2\u0080\u0099s bitmap font format\n will be created from it with al_grab_font_from_bitmap.\n Examples:\n * ex_disable_screensaver.c\n * ex_font_justify.cpp\n * ex_display_events.c\n ***** ALLEGRO_GLYPH *****\n typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH;\n-typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH;\n Source_Code\n A structure containing the properties of a character in a font.\n typedef struct ALLEGRO_GLYPH {\n ALLEGRO_BITMAP *bitmap; // the bitmap the character is on\n int x; // the x position of the glyph on bitmap\n int y; // the y position of the glyph on bitmap\n int w; // the width of the glyph in pixels\n@@ -145,15 +143,14 @@\n Since: 5.2.1\n Unstable_API: This API is new and subject to refinement.\n See also: al_get_glyph\n Examples:\n * ex_ttf.c\n ***** al_init_font_addon *****\n bool al_init_font_addon(void)\n-bool al_init_font_addon(void)\n Source_Code\n Initialise the font addon.\n Note that if you intend to load bitmap fonts, you will need to initialise\n allegro_image separately (unless you are using another library to load images).\n Similarly, if you wish to load truetype-fonts, do not forget to also call\n al_init_ttf_addon.\n Returns true on success, false on failure. On the 5.0 branch, this function has\n@@ -163,68 +160,61 @@\n See also: al_init_image_addon, al_init_ttf_addon, al_shutdown_font_addon\n Examples:\n * ex_disable_screensaver.c\n * ex_font_justify.cpp\n * ex_display_events.c\n ***** al_is_font_addon_initialized *****\n bool al_is_font_addon_initialized(void)\n-bool al_is_font_addon_initialized(void)\n Source_Code\n Returns true if the font addon is initialized, otherwise returns false.\n Since: 5.2.6\n See also: al_init_font_addon, al_shutdown_font_addon\n ***** al_shutdown_font_addon *****\n void al_shutdown_font_addon(void)\n-void al_shutdown_font_addon(void)\n Source_Code\n Shut down the font addon. This is done automatically at program exit, but can\n be called any time the user wishes as well.\n See also: al_init_font_addon\n ***** al_load_font *****\n ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags)\n-ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags)\n Source_Code\n Loads a font from disk. This will use al_load_bitmap_font_flags if you pass the\n name of a known bitmap format, or else al_load_ttf_font.\n The flags parameter is passed through to either of those functions. Bitmap and\n TTF fonts are also affected by the current bitmap_flags at the time the font is\n loaded.\n See also: al_destroy_font, al_init_font_addon, al_register_font_loader,\n al_load_bitmap_font_flags, al_load_ttf_font\n Examples:\n * ex_font_justify.cpp\n * ex_membmp.c\n * ex_window_title.c\n ***** al_destroy_font *****\n void al_destroy_font(ALLEGRO_FONT *f)\n-void al_destroy_font(ALLEGRO_FONT *f)\n Source_Code\n Frees the memory being used by a font structure. Does nothing if passed NULL.\n See also: al_load_font\n Examples:\n * ex_disable_screensaver.c\n * ex_font_justify.cpp\n * ex_cpu.c\n ***** al_register_font_loader *****\n bool al_register_font_loader(char const *extension,\n ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags))\n-bool al_register_font_loader(char const *extension,\n- ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags))\n Source_Code\n Informs Allegro of a new font file type, telling it how to load files of this\n format.\n The extension should include the leading dot (\u00e2\u0080\u0098.\u00e2\u0080\u0099) character. It will be\n matched case-insensitively.\n The load_font argument may be NULL to unregister an entry.\n Returns true on success, false on error. Returns false if unregistering an\n entry that doesn\u00e2\u0080\u0099t exist.\n See also: al_init_font_addon\n ***** al_get_font_line_height *****\n int al_get_font_line_height(const ALLEGRO_FONT *f)\n-int al_get_font_line_height(const ALLEGRO_FONT *f)\n Source_Code\n Returns the usual height of a line of text in the specified font. For bitmap\n fonts this is simply the height of all glyph bitmaps. For truetype fonts it is\n whatever the font file specifies. In particular, some special glyphs may be\n higher than the height returned here.\n If the X is the position you specify to draw text, the meaning of ascent and\n descent and the line height is like in the figure below.\n@@ -242,53 +232,46 @@\n See also: al_get_text_width, al_get_text_dimensions\n Examples:\n * ex_font_justify.cpp\n * ex_membmp.c\n * ex_mouse_warp.c\n ***** al_get_font_ascent *****\n int al_get_font_ascent(const ALLEGRO_FONT *f)\n-int al_get_font_ascent(const ALLEGRO_FONT *f)\n Source_Code\n Returns the ascent of the specified font.\n See also: al_get_font_descent, al_get_font_line_height\n Examples:\n * ex_ttf.c\n ***** al_get_font_descent *****\n int al_get_font_descent(const ALLEGRO_FONT *f)\n-int al_get_font_descent(const ALLEGRO_FONT *f)\n Source_Code\n Returns the descent of the specified font.\n See also: al_get_font_ascent, al_get_font_line_height\n Examples:\n * ex_ttf.c\n ***** al_get_text_width *****\n int al_get_text_width(const ALLEGRO_FONT *f, const char *str)\n-int al_get_text_width(const ALLEGRO_FONT *f, const char *str)\n Source_Code\n Calculates the length of a string in a particular font, in pixels.\n See also: al_get_ustr_width, al_get_font_line_height, al_get_text_dimensions\n Examples:\n * ex_display_options.c\n * ex_record_name.c\n * ex_color_gradient.c\n ***** al_get_ustr_width *****\n int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)\n-int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)\n Source_Code\n Like al_get_text_width but expects an ALLEGRO_USTR.\n See also: al_get_text_width, al_get_ustr_dimensions\n Examples:\n * nihgui.cpp\n ***** al_draw_text *****\n void al_draw_text(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, int flags,\n char const *text)\n-void al_draw_text(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x, float y, int flags,\n- char const *text)\n Source_Code\n Writes the NUL-terminated string text onto the target bitmap at position x, y,\n using the specified font.\n The flags parameter can be 0 or one of the following flags:\n * ALLEGRO_ALIGN_LEFT - Draw the text left-aligned (same as 0).\n * ALLEGRO_ALIGN_CENTRE - Draw the text centered around the given position.\n * ALLEGRO_ALIGN_RIGHT - Draw the text right-aligned to the given position.\n@@ -303,32 +286,26 @@\n * ex_disable_screensaver.c\n * ex_display_events.c\n * ex_membmp.c\n ***** al_draw_ustr *****\n void al_draw_ustr(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, int flags,\n const ALLEGRO_USTR *ustr)\n-void al_draw_ustr(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x, float y, int flags,\n- const ALLEGRO_USTR *ustr)\n Source_Code\n Like al_draw_text, except the text is passed as an ALLEGRO_USTR instead of a\n NUL-terminated char array.\n See also: al_draw_text, al_draw_justified_ustr, al_draw_multiline_ustr\n Examples:\n * ex_font_multiline.cpp\n * nihgui.cpp\n * ex_blend.c\n ***** al_draw_justified_text *****\n void al_draw_justified_text(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x1, float x2,\n float y, float diff, int flags, const char *text)\n-void al_draw_justified_text(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x1, float x2,\n- float y, float diff, int flags, const char *text)\n Source_Code\n Like al_draw_text, but justifies the string to the region x1-x2.\n The diff parameter is the maximum amount of horizontal space to allow between\n words. If justisfying the text would exceed diff pixels, or the string contains\n less than two words, then the string will be drawn left aligned.\n The flags parameter can be 0 or one of the following flags:\n * ALLEGRO_ALIGN_INTEGER - Draw text aligned to integer pixel positions.\n@@ -336,54 +313,42 @@\n See also: al_draw_justified_textf, al_draw_justified_ustr\n Examples:\n * ex_font_justify.cpp\n ***** al_draw_justified_ustr *****\n void al_draw_justified_ustr(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x1, float x2,\n float y, float diff, int flags, const ALLEGRO_USTR *ustr)\n-void al_draw_justified_ustr(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x1, float x2,\n- float y, float diff, int flags, const ALLEGRO_USTR *ustr)\n Source_Code\n Like al_draw_justified_text, except the text is passed as an ALLEGRO_USTR\n instead of a NUL-terminated char array.\n See also: al_draw_justified_text, al_draw_justified_textf.\n ***** al_draw_textf *****\n void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color,\n float x, float y, int flags,\n const char *format, ...)\n-void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color,\n- float x, float y, int flags,\n- const char *format, ...)\n Source_Code\n Formatted text output, using a printf() style format string. All parameters\n have the same meaning as with al_draw_text otherwise.\n See also: al_draw_text, al_draw_ustr\n Examples:\n * ex_disable_screensaver.c\n * ex_display_events.c\n * ex_cpu.c\n ***** al_draw_justified_textf *****\n void al_draw_justified_textf(const ALLEGRO_FONT *f,\n ALLEGRO_COLOR color, float x1, float x2, float y,\n float diff, int flags, const char *format, ...)\n-void al_draw_justified_textf(const ALLEGRO_FONT *f,\n- ALLEGRO_COLOR color, float x1, float x2, float y,\n- float diff, int flags, const char *format, ...)\n Source_Code\n Formatted text output, using a printf() style format string. All parameters\n have the same meaning as with al_draw_justified_text otherwise.\n See also: al_draw_justified_text, al_draw_justified_ustr.\n ***** al_get_text_dimensions *****\n void al_get_text_dimensions(const ALLEGRO_FONT *f,\n char const *text,\n int *bbx, int *bby, int *bbw, int *bbh)\n-void al_get_text_dimensions(const ALLEGRO_FONT *f,\n- char const *text,\n- int *bbx, int *bby, int *bbw, int *bbh)\n Source_Code\n Sometimes, the al_get_text_width and al_get_font_line_height functions are not\n enough for exact text placement, so this function returns some additional\n information.\n Returned variables (all in pixels):\n * x, y - Offset to upper left corner of bounding box.\n * w, h - Dimensions of bounding box.\n@@ -393,30 +358,25 @@\n Examples:\n * ex_ttf.c\n * ex_logo.c\n ***** al_get_ustr_dimensions *****\n void al_get_ustr_dimensions(const ALLEGRO_FONT *f,\n ALLEGRO_USTR const *ustr,\n int *bbx, int *bby, int *bbw, int *bbh)\n-void al_get_ustr_dimensions(const ALLEGRO_FONT *f,\n- ALLEGRO_USTR const *ustr,\n- int *bbx, int *bby, int *bbw, int *bbh)\n Source_Code\n Like al_get_text_dimensions, except the text is passed as an ALLEGRO_USTR\n instead of a NUL-terminated char array.\n See also: al_get_text_dimensions\n ***** al_get_allegro_font_version *****\n uint32_t al_get_allegro_font_version(void)\n-uint32_t al_get_allegro_font_version(void)\n Source_Code\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version.\n ***** al_get_font_ranges *****\n int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges)\n-int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges)\n Source_Code\n Gets information about all glyphs contained in a font, as a list of ranges.\n Ranges have the same format as with al_grab_font_from_bitmap.\n ranges_count is the maximum number of ranges that will be returned.\n ranges should be an array with room for ranges_count * 2 elements. The even\n integers are the first unicode point in a range, the odd integers the last\n unicode point in a range.\n@@ -424,26 +384,24 @@\n ranges_count).\n Since: 5.1.4\n See also: al_grab_font_from_bitmap\n Examples:\n * ex_ttf.c\n ***** al_set_fallback_font *****\n void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback)\n-void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback)\n Source_Code\n Sets a font which is used instead if a character is not present. Can be\n chained, but make sure there is no loop as that would crash the application!\n Pass NULL to remove a fallback font again.\n Since: 5.1.12\n See also: al_get_fallback_font, al_draw_glyph, al_draw_text\n Examples:\n * ex_ttf.c\n ***** al_get_fallback_font *****\n ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font)\n-ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font)\n Source_Code\n Retrieves the fallback font for this font or NULL.\n Since: 5.1.12\n See also: al_set_fallback_font\n ****** Per glyph text handling ******\n For some applications Allegro\u00e2\u0080\u0099s text drawing functions may not be sufficient.\n For example, you would like to give a different color to every letter in a\n@@ -455,17 +413,14 @@\n per glyph functions have less overhead than Allegro\u00e2\u0080\u0099s per string text drawing\n and dimensioning functions. So, with these functions you can write your own\n efficient and precise custom text drawing functions.\n ***** al_draw_glyph *****\n void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float\n y,\n int codepoint)\n-void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float\n-y,\n- int codepoint)\n Source_Code\n Draws the glyph that corresponds with codepoint in the given color using the\n given font. If font does not have such a glyph, nothing will be drawn.\n To draw a string as left to right horizontal text you will need to use\n al_get_glyph_advance to determine the position of each glyph. For drawing\n strings in other directions, such as top to down, use al_get_glyph_dimensions\n to determine the size and position of each glyph.\n@@ -476,26 +431,23 @@\n Since: 5.1.12\n See also: al_get_glyph_width, al_get_glyph_dimensions, al_get_glyph_advance.\n Examples:\n * ex_font.c\n * ex_ttf.c\n ***** al_get_glyph_width *****\n int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint)\n-int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint)\n Source_Code\n This function returns the width in pixels of the glyph that corresponds with\n codepoint in the font font. Returns zero if the font does not have such a\n glyph.\n Since: 5.1.12\n See also: al_draw_glyph, al_get_glyph_dimensions, al_get_glyph_advance.\n ***** al_get_glyph_dimensions *****\n bool al_get_glyph_dimensions(const ALLEGRO_FONT *f,\n int codepoint, int *bbx, int *bby, int *bbw, int *bbh)\n-bool al_get_glyph_dimensions(const ALLEGRO_FONT *f,\n- int codepoint, int *bbx, int *bby, int *bbw, int *bbh)\n Source_Code\n Sometimes, the al_get_glyph_width or al_get_glyph_advance functions are not\n enough for exact glyph placement, so this function returns some additional\n information, particularly if you want to draw the font vertically.\n The function itself returns true if the character was present in font and false\n if the character was not present in font.\n Returned variables (all in pixel):\n@@ -535,15 +487,14 @@\n +---+-------+\n Since: 5.1.12\n See also: al_draw_glyph, al_get_glyph_width, al_get_glyph_advance.\n Examples:\n * ex_ttf.c\n ***** al_get_glyph_advance *****\n int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)\n-int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)\n Source_Code\n This function returns by how much the x position should be advanced for left to\n right text drawing when the glyph that corresponds to codepoint1 has been\n drawn, and the glyph that corresponds to codepoint2 will be the next to be\n drawn. This takes into consideration the horizontal advance width of the glyph\n that corresponds with codepoint1 as well as the kerning between the glyphs of\n codepoint1 and codepoint2.\n@@ -601,17 +552,14 @@\n * ex_font.c\n * ex_ttf.c\n ****** Multiline text drawing ******\n ***** al_draw_multiline_text *****\n void al_draw_multiline_text(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n int flags, const char *text)\n-void al_draw_multiline_text(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n- int flags, const char *text)\n Source_Code\n Like al_draw_text, but this function supports drawing multiple lines of text.\n It will break text in lines based on its contents and the max_width parameter.\n The lines are then layed out vertically depending on the line_height parameter\n and drawn each as if al_draw_text was called on them.\n A newline \\n in the text will cause a \u00e2\u0080\u009chard\u00e2\u0080\u009d line break after its\n occurrence in the string. The text after a hard break is placed on a new line.\n@@ -641,45 +589,35 @@\n Examples:\n * ex_resize2.c\n * ex_font_multiline.cpp\n ***** al_draw_multiline_ustr *****\n void al_draw_multiline_ustr(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n int flags, const ALLEGRO_USTR *ustr)\n-void al_draw_multiline_ustr(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n- int flags, const ALLEGRO_USTR *ustr)\n Source_Code\n Like al_draw_multiline_text, except the text is passed as an ALLEGRO_USTR\n instead of a NUL-terminated char array.\n Since: 5.1.9\n See also: al_draw_multiline_text, al_draw_multiline_textf, al_do_multiline_text\n ***** al_draw_multiline_textf *****\n void al_draw_multiline_textf(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n int flags, const char *format, ...)\n-void al_draw_multiline_textf(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n- int flags, const char *format, ...)\n Source_Code\n Formatted text output, using a printf() style format string. All parameters\n have the same meaning as with al_draw_multiline_text otherwise.\n Since: 5.1.9\n See also: al_draw_multiline_text, al_draw_multiline_ustr, al_do_multiline_text\n Examples:\n * ex_resize2.c\n ***** al_do_multiline_text *****\n void al_do_multiline_text(const ALLEGRO_FONT *font,\n float max_width, const char *text,\n bool (*cb)(int line_num, const char *line, int size, void *extra),\n void *extra)\n-void al_do_multiline_text(const ALLEGRO_FONT *font,\n- float max_width, const char *text,\n- bool (*cb)(int line_num, const char *line, int size, void *extra),\n- void *extra)\n Source_Code\n This function processes the text and splits it into lines as\n al_draw_multiline_text would, and then calls the callback cb once for every\n line. This is useful for custom drawing of multiline text, or for calculating\n the size of multiline text ahead of time. See the documentation on\n al_draw_multiline_text for an explanation of the splitting algorithm.\n For every line that this function splits text into the callback cb will be\n@@ -701,29 +639,23 @@\n Examples:\n * ex_font_multiline.cpp\n ***** al_do_multiline_ustr *****\n void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width,\n const ALLEGRO_USTR *ustr,\n bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra),\n void *extra)\n-void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width,\n- const ALLEGRO_USTR *ustr,\n- bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra),\n- void *extra)\n Source_Code\n Like al_do_multiline_text, but using ALLEGRO_USTR instead of a NUL-terminated\n char array for text.\n Since: 5.1.9\n See also: al_draw_multiline_ustr\n ****** Bitmap fonts ******\n ***** al_grab_font_from_bitmap *****\n ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp,\n int ranges_n, const int ranges[])\n-ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp,\n- int ranges_n, const int ranges[])\n Source_Code\n Creates a new font from an Allegro bitmap. You can delete the bitmap after the\n function returns as the font will contain a copy for itself.\n Parameters:\n * bmp: The bitmap with the glyphs drawn onto it\n * n: Number of unicode ranges in the bitmap.\n * ranges: \u00e2\u0080\u0098n\u00e2\u0080\u0099 pairs of first and last unicode point to map glyphs to\n@@ -767,38 +699,35 @@\n characters found in the Allegro 4 font.)\n See also: al_load_bitmap, al_grab_font_from_bitmap\n Examples:\n * ex_font.c\n * ex_ttf.c\n ***** al_load_bitmap_font *****\n ALLEGRO_FONT *al_load_bitmap_font(const char *fname)\n-ALLEGRO_FONT *al_load_bitmap_font(const char *fname)\n Source_Code\n Load a bitmap font from a file. This is done by first calling\n al_load_bitmap_flags and then al_grab_font_from_bitmap.\n If you wanted to load an old A4 font, for example, it would be better to load\n the bitmap yourself in order to call al_convert_mask_to_alpha on it before\n passing it to al_grab_font_from_bitmap.\n See also: al_load_bitmap_font_flags, al_load_font, al_load_bitmap_flags\n Examples:\n * ex_bitmap_flip.c\n * ex_mouse_cursor.c\n * ex_record_name.c\n ***** al_load_bitmap_font_flags *****\n ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags)\n-ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags)\n Source_Code\n Like al_load_bitmap_font but additionally takes a flags parameter which is a\n bitfield containing a combination of the following:\n ALLEGRO_NO_PREMULTIPLIED_ALPHA\n The same meaning as for al_load_bitmap_flags.\n See also: al_load_bitmap_font, al_load_bitmap_flags\n ***** al_create_builtin_font *****\n ALLEGRO_FONT *al_create_builtin_font(void)\n-ALLEGRO_FONT *al_create_builtin_font(void)\n Source_Code\n Creates a monochrome bitmap font (8x8 pixels per character).\n This font is primarily intended to be used for displaying information in\n environments or during early runtime states where no external font data is\n available or loaded (e.g.\u00c2\u00a0for debugging).\n The builtin font contains the following unicode character ranges:\n 0x0020 to 0x007F (ASCII)\n@@ -816,38 +745,34 @@\n * ex_cpu.c\n ****** TTF fonts ******\n These functions are declared in the following header file. Link with\n allegro_ttf.\n #include \n ***** al_init_ttf_addon *****\n bool al_init_ttf_addon(void)\n-bool al_init_ttf_addon(void)\n Source_Code\n Call this after al_init_font_addon to make al_load_font recognize \u00e2\u0080\u009c.ttf\u00e2\u0080\u009d\n and other formats supported by al_load_ttf_font.\n Returns true on success, false on failure.\n Examples:\n * ex_font_justify.cpp\n * ex_font_multiline.cpp\n * ex_color.cpp\n ***** al_is_ttf_addon_initialized *****\n bool al_is_ttf_addon_initialized(void)\n-bool al_is_ttf_addon_initialized(void)\n Source_Code\n Returns true if the TTF addon is initialized, otherwise returns false.\n Since: 5.2.6\n See also: al_init_ttf_addon, al_shutdown_ttf_addon\n ***** al_shutdown_ttf_addon *****\n void al_shutdown_ttf_addon(void)\n-void al_shutdown_ttf_addon(void)\n Source_Code\n Unloads the ttf addon again. You normally don\u00e2\u0080\u0099t need to call this.\n ***** al_load_ttf_font *****\n ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags)\n-ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags)\n Source_Code\n Loads a TrueType font from a file using the FreeType library. Quoting from the\n FreeType FAQ this means support for many different font formats:\n TrueType, OpenType, Type1, CID, CFF, Windows FON/FNT, X11 PCF, and others\n The size parameter determines the size the font will be rendered at, specified\n in pixels. The standard font size is measured in units per EM, if you instead\n want to specify the size as the total height of glyphs in pixels, pass it as a\n@@ -865,27 +790,23 @@\n Examples:\n * ex_bitmap_flip.c\n * ex_synth.cpp\n * ex_audio_chain.cpp\n ***** al_load_ttf_font_f *****\n ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,\n char const *filename, int size, int flags)\n-ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,\n- char const *filename, int size, int flags)\n Source_Code\n Like al_load_ttf_font, but the font is read from the file handle. The filename\n is only used to find possible additional files next to a font file.\n Note: The file handle is owned by the returned ALLEGRO_FONT object\n and must not be freed by the caller, as FreeType expects to be able\n to read from it at a later time.\n ***** al_load_ttf_font_stretch *****\n ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h,\n int flags)\n-ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h,\n- int flags)\n Source_Code\n Like al_load_ttf_font, except it takes separate width and height parameters\n instead of a single size parameter.\n If the height is a positive value, and the width zero or positive, then font\n will be stretched according to those parameters. The width must not be negative\n if the height is positive.\n As with al_load_ttf_font, the height may be a negative value to specify the\n@@ -893,41 +814,36 @@\n Returns NULL if the height is positive while width is negative, or if the\n height is negative while the width is positive.\n Since: 5.0.6, 5.1.0\n See also: al_load_ttf_font, al_load_ttf_font_stretch_f\n ***** al_load_ttf_font_stretch_f *****\n ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file,\n char const *filename, int w, int h, int flags)\n-ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file,\n- char const *filename, int w, int h, int flags)\n Source_Code\n Like al_load_ttf_font_stretch, but the font is read from the file handle. The\n filename is only used to find possible additional files next to a font file.\n Note: The file handle is owned by the returned ALLEGRO_FONT object\n and must not be freed by the caller, as FreeType expects to be able\n to read from it at a later time.\n Since: 5.0.6, 5.1.0\n See also: al_load_ttf_font_stretch\n ***** al_get_allegro_ttf_version *****\n uint32_t al_get_allegro_ttf_version(void)\n-uint32_t al_get_allegro_ttf_version(void)\n Source_Code\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version.\n ***** al_get_glyph *****\n bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint,\n ALLEGRO_GLYPH *glyph)\n-bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint,\n-ALLEGRO_GLYPH *glyph)\n Source_Code\n Gets all the information about a glyph, including the bitmap, needed to draw it\n yourself. prev_codepoint is the codepoint in the string before the one you want\n to draw and is used for kerning. codepoint is the character you want to get\n info about. You should clear the \u00e2\u0080\u0098glyph\u00e2\u0080\u0099 structure to 0 with memset before\n passing it to this function for future compatibility.\n Since: 5.2.1\n Unstable_API: This API is new and subject to refinement.\n See also: ALLEGRO_GLYPH\n Examples:\n * ex_font.c\n * ex_ttf.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:58 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:15 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/fshook.html", "source2": "./usr/share/doc/allegro5-doc/refman/fshook.html", "unified_diff": "@@ -206,16 +206,15 @@\n \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    These functions allow access to the filesystem. This can either be\n the real filesystem like your harddrive, or a virtual filesystem like a\n .zip archive (or whatever else you or an addon makes it do).

    \n

    ALLEGRO_FS_ENTRY

    \n-
    typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY;\n-typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY;
    \n+
    typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY;
    \n

    Source\n Code

    \n

    Opaque filesystem entry object. Represents a file or a directory\n (check with al_get_fs_entry_mode). There\n are no user accessible member variables.

    \n@@ -223,16 +222,15 @@\n
      \n
    • ex_dir.c
    • \n
    • ex_physfs.c
    • \n
    \n

    ALLEGRO_FILE_MODE

    \n-
    typedef enum ALLEGRO_FILE_MODE\n-typedef enum ALLEGRO_FILE_MODE
    \n+
    typedef enum ALLEGRO_FILE_MODE
    \n

    Source\n Code

    \n

    Filesystem modes/types

    \n
      \n
    • ALLEGRO_FILEMODE_READ - Readable
    • \n
    • ALLEGRO_FILEMODE_WRITE - Writable
    • \n@@ -557,16 +555,15 @@\n entry, but uses the appropriate file interface, not whatever was set\n with the latest call to al_set_new_file_interface.

      \n

      Returns the handle on success, NULL on error.

      \n

      See also: al_fopen

      \n ALLEGRO_FOR_EACH_FS_ENTRY_RESULT\n-
      typedef enum ALLEGRO_FOR_EACH_FS_ENTRY_RESULT {\n-typedef enum ALLEGRO_FOR_EACH_FS_ENTRY_RESULT {
      \n+
      typedef enum ALLEGRO_FOR_EACH_FS_ENTRY_RESULT {
      \n

      Source\n Code

      \n

      Return values for the callbacks of al_for_each_fs_entry and for\n that function itself.

      \n
        \n@@ -645,16 +642,15 @@\n

        By default, Allegro uses platform specific filesystem functions for\n things like directory access. However if for example the files of your\n game are not in the local filesystem but inside some file archive, you\n can provide your own set of functions (or use an addon which does this\n for you, for example our physfs addon allows access to the most common\n archive formats).

        \n

        ALLEGRO_FS_INTERFACE

        \n-
        typedef struct ALLEGRO_FS_INTERFACE ALLEGRO_FS_INTERFACE;\n-typedef struct ALLEGRO_FS_INTERFACE ALLEGRO_FS_INTERFACE;
        \n+
        typedef struct ALLEGRO_FS_INTERFACE ALLEGRO_FS_INTERFACE;
        \n

        Source\n Code

        \n

        The available functions you can provide for a filesystem. They\n are:

        \n
           ALLEGRO_FS_ENTRY *  fs_create_entry   (const char *path);\n    void                fs_destroy_entry  (ALLEGRO_FS_ENTRY *e);\n@@ -709,12 +705,12 @@\n 

        Return a pointer to the ALLEGRO_FS_INTERFACE table\n in effect for the calling thread.

        \n

        See also: al_store_state, al_restore_state.

        \n

        \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:55 UTC\n+ - Last updated: 2024-01-07 09:01:11 UTC\n

        \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -80,24 +80,22 @@\n These functions are declared in the main Allegro header file:\n #include \n These functions allow access to the filesystem. This can either be the real\n filesystem like your harddrive, or a virtual filesystem like a .zip archive (or\n whatever else you or an addon makes it do).\n ****** ALLEGRO_FS_ENTRY ******\n typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY;\n-typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY;\n Source_Code\n Opaque filesystem entry object. Represents a file or a directory (check with\n al_get_fs_entry_mode). There are no user accessible member variables.\n Examples:\n * ex_dir.c\n * ex_physfs.c\n ****** ALLEGRO_FILE_MODE ******\n typedef enum ALLEGRO_FILE_MODE\n-typedef enum ALLEGRO_FILE_MODE\n Source_Code\n Filesystem modes/types\n * ALLEGRO_FILEMODE_READ - Readable\n * ALLEGRO_FILEMODE_WRITE - Writable\n * ALLEGRO_FILEMODE_EXECUTE - Executable\n * ALLEGRO_FILEMODE_HIDDEN - Hidden\n * ALLEGRO_FILEMODE_ISFILE - Regular file\n@@ -285,15 +283,14 @@\n This is like calling al_fopen with the name of the filesystem entry, but uses\n the appropriate file interface, not whatever was set with the latest call to\n al_set_new_file_interface.\n Returns the handle on success, NULL on error.\n See also: al_fopen\n ***** ALLEGRO_FOR_EACH_FS_ENTRY_RESULT *****\n typedef enum ALLEGRO_FOR_EACH_FS_ENTRY_RESULT {\n-typedef enum ALLEGRO_FOR_EACH_FS_ENTRY_RESULT {\n Source_Code\n Return values for the callbacks of al_for_each_fs_entry and for that function\n itself.\n * ALLEGRO_FOR_EACH_FS_ENTRY_ERROR - An error ocurred.\n * ALLEGRO_FOR_EACH_FS_ENTRY_OK - Continue normally and recurse into\n directories.\n * ALLEGRO_FOR_EACH_FS_ENTRY_SKIP - Continue but do NOT recusively descend.\n@@ -340,15 +337,14 @@\n By default, Allegro uses platform specific filesystem functions for things like\n directory access. However if for example the files of your game are not in the\n local filesystem but inside some file archive, you can provide your own set of\n functions (or use an addon which does this for you, for example our physfs\n addon allows access to the most common archive formats).\n ***** ALLEGRO_FS_INTERFACE *****\n typedef struct ALLEGRO_FS_INTERFACE ALLEGRO_FS_INTERFACE;\n-typedef struct ALLEGRO_FS_INTERFACE ALLEGRO_FS_INTERFACE;\n Source_Code\n The available functions you can provide for a filesystem. They are:\n ALLEGRO_FS_ENTRY * fs_create_entry (const char *path);\n void fs_destroy_entry (ALLEGRO_FS_ENTRY *e);\n const char * fs_entry_name (ALLEGRO_FS_ENTRY *e);\n bool fs_update_entry (ALLEGRO_FS_ENTRY *e);\n uint32_t fs_entry_mode (ALLEGRO_FS_ENTRY *e);\n@@ -382,8 +378,8 @@\n See also: al_set_fs_interface.\n ***** al_get_fs_interface *****\n const ALLEGRO_FS_INTERFACE *al_get_fs_interface(void)\n Source_Code\n Return a pointer to the ALLEGRO_FS_INTERFACE table in effect for the calling\n thread.\n See also: al_store_state, al_restore_state.\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:55 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:11 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/fullscreen_mode.html", "source2": "./usr/share/doc/allegro5-doc/refman/fullscreen_mode.html", "unified_diff": "@@ -169,16 +169,15 @@\n
      • al_get_num_display_modes
      • \n
      \n \n

      These functions are declared in the main Allegro header file:

      \n
       #include <allegro5/allegro.h>
      \n

      ALLEGRO_DISPLAY_MODE

      \n-
      typedef struct ALLEGRO_DISPLAY_MODE\n-typedef struct ALLEGRO_DISPLAY_MODE
      \n+
      typedef struct ALLEGRO_DISPLAY_MODE
      \n

      Source\n Code

      \n

      Used for fullscreen mode queries. Contains information about a\n supported fullscreen modes.

      \n
      typedef struct ALLEGRO_DISPLAY_MODE {\n    int width;          // Screen width\n@@ -243,12 +242,12 @@\n 
    • ex_monitorinfo.c
    • \n
    • ex_display_options.c
    • \n
    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:55 UTC\n+ - Last updated: 2024-01-07 09:01:11 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -50,15 +50,14 @@\n * ALLEGRO_DISPLAY_MODE\n * al_get_display_mode\n * al_get_num_display_modes\n These functions are declared in the main Allegro header file:\n #include \n ****** ALLEGRO_DISPLAY_MODE ******\n typedef struct ALLEGRO_DISPLAY_MODE\n-typedef struct ALLEGRO_DISPLAY_MODE\n Source_Code\n Used for fullscreen mode queries. Contains information about a supported\n fullscreen modes.\n typedef struct ALLEGRO_DISPLAY_MODE {\n int width; // Screen width\n int height; // Screen height\n int format; // The pixel format of the mode\n@@ -91,8 +90,8 @@\n al_set_new_display_refresh_rate, and al_set_new_display_flags to find the\n number of modes that match. Settings the new display parameters to zero will\n give a list of all modes for the default driver.\n See also: al_get_display_mode\n Examples:\n * ex_monitorinfo.c\n * ex_display_options.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:55 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:11 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/getting_started.html", "source2": "./usr/share/doc/allegro5-doc/refman/getting_started.html", "unified_diff": "@@ -327,12 +327,12 @@\n href=\"system.html#al_init\">al_init becomes more scrict. See\n documentation of those functions for details.

    \n

    Not the end

    \n

    There\u2019s a heap of stuff we haven\u2019t even mentioned yet.

    \n

    Enjoy!

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:53 UTC\n+ - Last updated: 2024-01-07 09:01:08 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -195,8 +195,8 @@\n including Allegro\u00e2\u0080\u0099s headers.\n Note that when you define that macro, the version check performed by\n al_install_system and al_init becomes more scrict. See documentation of those\n functions for details.\n ****** Not the end ******\n There\u00e2\u0080\u0099s a heap of stuff we haven\u00e2\u0080\u0099t even mentioned yet.\n Enjoy!\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:53 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:08 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/graphics.html", "source2": "./usr/share/doc/allegro5-doc/refman/graphics.html", "unified_diff": "@@ -347,16 +347,15 @@\n \n \n \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    Colors

    \n

    ALLEGRO_COLOR

    \n-
    typedef struct ALLEGRO_COLOR ALLEGRO_COLOR;\n-typedef struct ALLEGRO_COLOR ALLEGRO_COLOR;
    \n+
    typedef struct ALLEGRO_COLOR ALLEGRO_COLOR;
    \n

    Source\n Code

    \n

    An ALLEGRO_COLOR structure describes a color in a device independent\n way. Use al_map_rgb et al.\u00a0and al_unmap_rgb et al.\u00a0to translate\n from and to various color representations.

    \n@@ -584,16 +583,15 @@\n
  • ex_blend_test.c
  • \n
  • ex_logo.c
  • \n \n

    Locking and pixel formats

    \n

    ALLEGRO_LOCKED_REGION

    \n-
    typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION;\n-typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION;
    \n+
    typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION;
    \n

    Source\n Code

    \n

    Users who wish to manually edit or read from a bitmap are required to\n lock it first. The ALLEGRO_LOCKED_REGION structure represents the locked\n region of the bitmap. This call will work with any bitmap, including\n memory bitmaps.

    \n@@ -630,16 +628,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_lockbitmap.c#L21\">ex_lockbitmap.c\n
  • ex_premulalpha.c
  • \n
  • ex_multisample.c
  • \n \n

    ALLEGRO_PIXEL_FORMAT

    \n-
    typedef enum ALLEGRO_PIXEL_FORMAT\n-typedef enum ALLEGRO_PIXEL_FORMAT
    \n+
    typedef enum ALLEGRO_PIXEL_FORMAT
    \n

    Source\n Code

    \n

    Pixel formats. Each pixel format specifies the exact size and bit\n layout of a pixel in memory. Components are specified from high bits to\n low bits, so for example a fully opaque red pixel in ARGB_8888 format is\n 0xFFFF0000.

    \n@@ -992,16 +989,15 @@\n

    Examples:

    \n
      \n
    • ex_compressed.c
    • \n
    \n

    Bitmap creation

    \n

    ALLEGRO_BITMAP

    \n-
    typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP;\n-typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP;
    \n+
    typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP;
    \n

    Source\n Code

    \n

    Abstract type representing a bitmap (2D image).

    \n

    Examples:

    \n
      \n
    • \n

      Unstable\n API: This is an experimental feature.

      \n \n

      See also: ALLEGRO_BITMAP_WRAP

      \n

      ALLEGRO_BITMAP_WRAP

      \n-
      typedef enum ALLEGRO_BITMAP_WRAP {\n-typedef enum ALLEGRO_BITMAP_WRAP {
      \n+
      typedef enum ALLEGRO_BITMAP_WRAP {
      \n

      Source\n Code

      \n

      Controls the how the pixel color is determined from a texture\n querying the texture coordinates are outside the usual bounds.

      \n
        \n
      • ALLEGRO_BITMAP_WRAP_DEFAULT - The default behavior. This\n@@ -3208,16 +3203,15 @@\n

        See also: al_init_image_addon, al_identify_bitmap, al_register_bitmap_identifier

        \n

        Render State

        \n

        ALLEGRO_RENDER_STATE

        \n
        typedef enum ALLEGRO_RENDER_STATE {\n-typedef enum ALLEGRO_RENDER_STATE {
        \n+class=\"sourceCode c\">typedef enum ALLEGRO_RENDER_STATE {\n

        Source\n Code

        \n

        Possible render states which can be set with al_set_render_state:

        \n
        \n
        ALLEGRO_ALPHA_TEST
        \n@@ -3265,16 +3259,15 @@\n

        See also: al_set_render_state, ALLEGRO_RENDER_FUNCTION,\n ALLEGRO_WRITE_MASK_FLAGS

        \n

        ALLEGRO_RENDER_FUNCTION

        \n
        typedef enum ALLEGRO_RENDER_FUNCTION {\n-typedef enum ALLEGRO_RENDER_FUNCTION {
        \n+class=\"sourceCode c\">typedef enum ALLEGRO_RENDER_FUNCTION {\n

        Source\n Code

        \n

        Possible functions are:

        \n
          \n
        • ALLEGRO_RENDER_NEVER
        • \n
        • ALLEGRO_RENDER_ALWAYS
        • \n@@ -3288,16 +3281,15 @@\n
        • ALLEGRO_RENDER_GREATER_EQUAL
        • \n
        \n

        Since: 5.1.2

        \n

        See also: al_set_render_state

        \n

        ALLEGRO_WRITE_MASK_FLAGS

        \n
        typedef enum ALLEGRO_WRITE_MASK_FLAGS {\n-typedef enum ALLEGRO_WRITE_MASK_FLAGS {
        \n+class=\"sourceCode c\">typedef enum ALLEGRO_WRITE_MASK_FLAGS {\n

        Source\n Code

        \n

        Each enabled bit means the corresponding value is written, a disabled\n bit means it is not.

        \n
          \n
        • ALLEGRO_MASK_RED
        • \n@@ -3372,12 +3364,12 @@\n

          Unstable\n API: This API is new and subject to refinement.

          \n \n

          See also: al_backup_dirty_bitmap

          \n

          \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:55 UTC\n+ - Last updated: 2024-01-07 09:01:11 UTC\n

          \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -174,15 +174,14 @@\n o al_backup_dirty_bitmap\n o al_backup_dirty_bitmaps\n These functions are declared in the main Allegro header file:\n #include \n ****** Colors ******\n ***** ALLEGRO_COLOR *****\n typedef struct ALLEGRO_COLOR ALLEGRO_COLOR;\n-typedef struct ALLEGRO_COLOR ALLEGRO_COLOR;\n Source_Code\n An ALLEGRO_COLOR structure describes a color in a device independent way. Use\n al_map_rgb et al.\u00c2\u00a0and al_unmap_rgb et al.\u00c2\u00a0to translate from and to various\n color representations.\n Examples:\n * ex_keyboard_focus.c\n * ex_nodisplay.c\n@@ -311,15 +310,14 @@\n See also: al_unmap_rgba, al_unmap_rgb, al_unmap_rgb_f\n Examples:\n * ex_blend_test.c\n * ex_logo.c\n ****** Locking and pixel formats ******\n ***** ALLEGRO_LOCKED_REGION *****\n typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION;\n-typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION;\n Source_Code\n Users who wish to manually edit or read from a bitmap are required to lock it\n first. The ALLEGRO_LOCKED_REGION structure represents the locked region of the\n bitmap. This call will work with any bitmap, including memory bitmaps.\n typedef struct ALLEGRO_LOCKED_REGION {\n void *data;\n int format;\n@@ -344,15 +342,14 @@\n ALLEGRO_PIXEL_FORMAT\n Examples:\n * ex_lockbitmap.c\n * ex_premulalpha.c\n * ex_multisample.c\n ***** ALLEGRO_PIXEL_FORMAT *****\n typedef enum ALLEGRO_PIXEL_FORMAT\n-typedef enum ALLEGRO_PIXEL_FORMAT\n Source_Code\n Pixel formats. Each pixel format specifies the exact size and bit layout of a\n pixel in memory. Components are specified from high bits to low bits, so for\n example a fully opaque red pixel in ARGB_8888 format is 0xFFFF0000.\n Note:\n The pixel format is independent of endianness. That is, in the above\n example you can always get the red component with\n@@ -587,15 +584,14 @@\n Since: 5.1.9\n See also: al_lock_bitmap_region, al_lock_bitmap_blocked\n Examples:\n * ex_compressed.c\n ****** Bitmap creation ******\n ***** ALLEGRO_BITMAP *****\n typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP;\n-typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP;\n Source_Code\n Abstract type representing a bitmap (2D image).\n Examples:\n * ex_convert.c\n * ex_nodisplay.c\n * ex_opengl_pixel_shader.c\n ***** al_create_bitmap *****\n@@ -913,15 +909,14 @@\n Returns the value currently set with al_set_new_bitmap_wrap on the current\n thread.\n Since: 5.2.8\n Unstable_API: This is an experimental feature.\n See also: ALLEGRO_BITMAP_WRAP\n ***** ALLEGRO_BITMAP_WRAP *****\n typedef enum ALLEGRO_BITMAP_WRAP {\n-typedef enum ALLEGRO_BITMAP_WRAP {\n Source_Code\n Controls the how the pixel color is determined from a texture querying the\n texture coordinates are outside the usual bounds.\n * ALLEGRO_BITMAP_WRAP_DEFAULT - The default behavior. This corresponds to\n ALLEGRO_BITMAP_WRAP_REPEAT when using the primitives addon and\n ALLEGRO_BITMAP_WRAP_CLAMP otherwise.\n * ALLEGRO_BITMAP_WRAP_REPEAT - The texture coordinates get shifted to the\n@@ -1945,15 +1940,14 @@\n if the bitmap type cannot be determined.\n Since: 5.1.12\n See also: al_init_image_addon, al_identify_bitmap,\n al_register_bitmap_identifier\n ****** Render State ******\n ***** ALLEGRO_RENDER_STATE *****\n typedef enum ALLEGRO_RENDER_STATE {\n-typedef enum ALLEGRO_RENDER_STATE {\n Source_Code\n Possible render states which can be set with al_set_render_state:\n ALLEGRO_ALPHA_TEST\n If this is set to 1, the values of ALLEGRO_ALPHA_FUNCTION and\n ALLEGRO_ALPHA_TEST_VALUE define a comparison function which is performed\n on the alpha component of each pixel. Only if it evaluates to true the\n pixel is written. Otherwise no subsequent processing (like depth test or\n@@ -1976,30 +1970,28 @@\n ALLEGRO_DEPTH_FUNCTION\n One of ALLEGRO_RENDER_FUNCTION, only used when ALLEGRO_DEPTH_TEST is 1.\n Since: 5.1.2\n See also: al_set_render_state, ALLEGRO_RENDER_FUNCTION,\n ALLEGRO_WRITE_MASK_FLAGS\n ***** ALLEGRO_RENDER_FUNCTION *****\n typedef enum ALLEGRO_RENDER_FUNCTION {\n-typedef enum ALLEGRO_RENDER_FUNCTION {\n Source_Code\n Possible functions are:\n * ALLEGRO_RENDER_NEVER\n * ALLEGRO_RENDER_ALWAYS\n * ALLEGRO_RENDER_LESS\n * ALLEGRO_RENDER_EQUAL\n * ALLEGRO_RENDER_LESS_EQUAL\n * ALLEGRO_RENDER_GREATER\n * ALLEGRO_RENDER_NOT_EQUAL\n * ALLEGRO_RENDER_GREATER_EQUAL\n Since: 5.1.2\n See also: al_set_render_state\n ***** ALLEGRO_WRITE_MASK_FLAGS *****\n typedef enum ALLEGRO_WRITE_MASK_FLAGS {\n-typedef enum ALLEGRO_WRITE_MASK_FLAGS {\n Source_Code\n Each enabled bit means the corresponding value is written, a disabled bit means\n it is not.\n * ALLEGRO_MASK_RED\n * ALLEGRO_MASK_GREEN\n * ALLEGRO_MASK_BLUE\n * ALLEGRO_MASK_ALPHA\n@@ -2037,8 +2029,8 @@\n ***** al_backup_dirty_bitmaps *****\n void al_backup_dirty_bitmaps(ALLEGRO_DISPLAY *display)\n Source_Code\n Backs up all of a display\u00e2\u0080\u0099s bitmaps to system memory.\n Since: 5.2.1\n Unstable_API: This API is new and subject to refinement.\n See also: al_backup_dirty_bitmap\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:55 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:11 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/haptic.html", "source2": "./usr/share/doc/allegro5-doc/refman/haptic.html", "unified_diff": "@@ -222,16 +222,15 @@\n file:

          \n
           #include <allegro5/allegro.h>
          \n

          Currently force feedback is fully supported on Linux and on Windows\n for DirectInput compatible devices. There is also minimal support for\n Android. It is not yet supported on OSX, iOS, or on Windows for XInput\n compatible devices.

          \n

          ALLEGRO_HAPTIC

          \n-
          typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC;\n-typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC;
          \n+
          typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC;
          \n

          Source\n Code

          \n

          This is an abstract data type representing a haptic device that\n supports force feedback or vibration.

          \n

          Since: 5.1.8

          \n
          \n@@ -246,16 +245,15 @@\n
            \n
          • ex_haptic.c
          • \n
          • ex_haptic2.cpp
          • \n
          \n

          ALLEGRO_HAPTIC_CONSTANTS

          \n-
          enum ALLEGRO_HAPTIC_CONSTANTS\n-enum ALLEGRO_HAPTIC_CONSTANTS
          \n+
          enum ALLEGRO_HAPTIC_CONSTANTS
          \n

          Source\n Code

          \n

          This enum contains flags that are used to define haptic effects and\n capabilities. If the flag is set in the return value of al_get_haptic_capabilities,\n it means the device supports the given effect. The value of these flags\n@@ -294,16 +292,15 @@\n users.

          \n
          \n

          See also: al_get_haptic_capabilities,\n ALLEGRO_HAPTIC_EFFECT

          \n

          ALLEGRO_HAPTIC_EFFECT

          \n-
          struct ALLEGRO_HAPTIC_EFFECT\n-struct ALLEGRO_HAPTIC_EFFECT
          \n+
          struct ALLEGRO_HAPTIC_EFFECT
          \n

          Source\n Code

          \n

          This struct models a particular haptic or vibration effect. It needs\n to be filled in correctly and uploaded to a haptic device before the\n device can play it back.

          \n

          Fields:

          \n@@ -506,16 +503,15 @@\n
            \n
          • ex_haptic.c
          • \n
          • ex_haptic2.cpp
          • \n
          \n

          ALLEGRO_HAPTIC_EFFECT_ID

          \n-
          typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID;\n-typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID;
          \n+
          typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID;
          \n

          Source\n Code

          \n

          This struct is used as a handle to control playback of a haptic\n effect and should be considered opaque. Its implementation is visible\n merely to allow allocation by the users of the Allegro library.

          \n

          Since: 5.1.8

          \n@@ -1245,12 +1241,12 @@\n

          Unstable\n API: Perhaps could be simplified due to limited support for all\n the exposed features across all of the platforms. Awaiting feedback from\n users.

          \n \n

          \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:55 UTC\n+ - Last updated: 2024-01-07 09:01:11 UTC\n

          \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -86,29 +86,27 @@\n functions are declared in the main Allegro header file:\n #include \n Currently force feedback is fully supported on Linux and on Windows for\n DirectInput compatible devices. There is also minimal support for Android. It\n is not yet supported on OSX, iOS, or on Windows for XInput compatible devices.\n ****** ALLEGRO_HAPTIC ******\n typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC;\n-typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC;\n Source_Code\n This is an abstract data type representing a haptic device that supports force\n feedback or vibration.\n Since: 5.1.8\n Unstable_API: Perhaps could be simplified due to limited support for\n all the exposed features across all of the platforms. Awaiting\n feedback from users.\n See also: al_get_haptic_from_joystick\n Examples:\n * ex_haptic.c\n * ex_haptic2.cpp\n ****** ALLEGRO_HAPTIC_CONSTANTS ******\n enum ALLEGRO_HAPTIC_CONSTANTS\n-enum ALLEGRO_HAPTIC_CONSTANTS\n Source_Code\n This enum contains flags that are used to define haptic effects and\n capabilities. If the flag is set in the return value of\n al_get_haptic_capabilities, it means the device supports the given effect. The\n value of these flags should be set into a ALLEGRO_HAPTIC_EFFECT struct to\n determine what kind of haptic effect should be played.\n * ALLEGRO_HAPTIC_RUMBLE - simple vibration effects\n@@ -133,15 +131,14 @@\n Since: 5.1.8\n Unstable_API: Perhaps could be simplified due to limited support for\n all the exposed features across all of the platforms. Awaiting\n feedback from users.\n See also: al_get_haptic_capabilities, ALLEGRO_HAPTIC_EFFECT\n ****** ALLEGRO_HAPTIC_EFFECT ******\n struct ALLEGRO_HAPTIC_EFFECT\n-struct ALLEGRO_HAPTIC_EFFECT\n Source_Code\n This struct models a particular haptic or vibration effect. It needs to be\n filled in correctly and uploaded to a haptic device before the device can play\n it back.\n Fields:\n type\n The type of the haptic effect. May be one of the ALLEGRO_HAPTIC_CONSTANTS\n@@ -300,15 +297,14 @@\n all the exposed features across all of the platforms. Awaiting\n feedback from users.\n Examples:\n * ex_haptic.c\n * ex_haptic2.cpp\n ****** ALLEGRO_HAPTIC_EFFECT_ID ******\n typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID;\n-typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID;\n Source_Code\n This struct is used as a handle to control playback of a haptic effect and\n should be considered opaque. Its implementation is visible merely to allow\n allocation by the users of the Allegro library.\n Since: 5.1.8\n Unstable_API: Perhaps could be simplified due to limited support for\n all the exposed features across all of the platforms. Awaiting\n@@ -730,8 +726,8 @@\n again manually in this case. However, if true is returned, it is necessary to\n call al_release_haptic_effect when the effect isn\u00e2\u0080\u0099t needed anymore, to\n prevent the amount of available effects on the haptic device from running out.\n Since: 5.1.8\n Unstable_API: Perhaps could be simplified due to limited support for\n all the exposed features across all of the platforms. Awaiting\n feedback from users.\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:55 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:11 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/image.html", "source2": "./usr/share/doc/allegro5-doc/refman/image.html", "unified_diff": "@@ -176,16 +176,15 @@\n allegro_image.

          \n
           #include <allegro5/allegro_image.h>
          \n

          Some of the format handlers define configuration options for\n specifying things like compression level or gamma handling. Refer to al_get_system_config for\n their documentation.

          \n

          al_init_image_addon

          \n-
          bool al_init_image_addon(void)\n-bool al_init_image_addon(void)
          \n+
          bool al_init_image_addon(void)
          \n

          Source\n Code

          \n

          Initializes the image addon. This registers bitmap format handlers\n for al_load_bitmap, al_load_bitmap_f, al_save_bitmap, ex_nodisplay.c\n

        • ex_opengl_pixel_shader.c
        • \n
        \n al_is_image_addon_initialized\n-
        bool al_is_image_addon_initialized(void)\n-bool al_is_image_addon_initialized(void)
        \n+
        bool al_is_image_addon_initialized(void)
        \n

        Source\n Code

        \n

        Returns true if the image addon is initialized, otherwise returns\n false.

        \n

        Since: 5.2.6

        \n

        al_shutdown_image_addon

        \n-
        void al_shutdown_image_addon(void)\n-void al_shutdown_image_addon(void)
        \n+
        void al_shutdown_image_addon(void)
        \n

        Source\n Code

        \n

        Shut down the image addon. This is done automatically at program\n exit, but can be called any time the user wishes as well.

        \n

        al_get_allegro_image_version

        \n-
        uint32_t al_get_allegro_image_version(void)\n-uint32_t al_get_allegro_image_version(void)
        \n+
        uint32_t al_get_allegro_image_version(void)
        \n

        Source\n Code

        \n

        Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

        \n

        \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:58 UTC\n+ - Last updated: 2024-01-07 09:01:16 UTC\n

        \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -55,15 +55,14 @@\n allegro_image.\n #include \n Some of the format handlers define configuration options for specifying things\n like compression level or gamma handling. Refer to al_get_system_config for\n their documentation.\n ****** al_init_image_addon ******\n bool al_init_image_addon(void)\n-bool al_init_image_addon(void)\n Source_Code\n Initializes the image addon. This registers bitmap format handlers for\n al_load_bitmap, al_load_bitmap_f, al_save_bitmap, al_save_bitmap_f.\n The following types are built into the Allegro image addon and guaranteed to be\n available: BMP, DDS, PCX, TGA. Every platform also supports JPEG and PNG via\n external dependencies.\n Other formats may be available depending on the operating system and installed\n@@ -75,24 +74,21 @@\n have the pixel format matching the format in the file.\n Examples:\n * ex_convert.c\n * ex_nodisplay.c\n * ex_opengl_pixel_shader.c\n ****** al_is_image_addon_initialized ******\n bool al_is_image_addon_initialized(void)\n-bool al_is_image_addon_initialized(void)\n Source_Code\n Returns true if the image addon is initialized, otherwise returns false.\n Since: 5.2.6\n ****** al_shutdown_image_addon ******\n void al_shutdown_image_addon(void)\n-void al_shutdown_image_addon(void)\n Source_Code\n Shut down the image addon. This is done automatically at program exit, but can\n be called any time the user wishes as well.\n ****** al_get_allegro_image_version ******\n uint32_t al_get_allegro_image_version(void)\n-uint32_t al_get_allegro_image_version(void)\n Source_Code\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version.\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:58 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:16 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/index.html", "source2": "./usr/share/doc/allegro5-doc/refman/index.html", "unified_diff": "@@ -154,12 +154,12 @@\n
      • Native dialogs addon
      • \n
      • PhysicsFS addon
      • \n
      • Primitives addon
      • \n
      • Video streaming addon
      • \n
      \n

      \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:59 UTC\n+ - Last updated: 2024-01-07 09:01:17 UTC\n

      \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -88,8 +88,8 @@\n * Image_I/O_addon\n * Main_addon\n * Memfile_addon\n * Native_dialogs_addon\n * PhysicsFS_addon\n * Primitives_addon\n * Video_streaming_addon\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:59 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:17 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/index_all.html", "source2": "./usr/share/doc/allegro5-doc/refman/index_all.html", "unified_diff": "@@ -2879,12 +2879,12 @@\n
    • al_x_set_initial_icon\n
    • \n
    • iPhone
    • \n
    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:59 UTC\n+ - Last updated: 2024-01-07 09:01:17 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -1252,8 +1252,8 @@\n * al_wait_for_event_timed\n * al_wait_for_event_until\n * al_wait_for_vsync\n * al_win_add_window_callback\n * al_win_remove_window_callback\n * al_x_set_initial_icon\n * iPhone\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:59 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:17 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/joystick.html", "source2": "./usr/share/doc/allegro5-doc/refman/joystick.html", "unified_diff": "@@ -203,16 +203,15 @@\n Xinput one. If support for XInput was compiled in, then it can be\n enabled by calling al_set_config_value(al_get_system_config(),\n \u201cjoystick\u201d, \u201cdriver\u201d, \u201cxinput\u201d) before calling al_install_joystick, or\n by setting the same option in the allegro5.cfg configuration file. The\n Xinput and DirectInput drivers are mutually exclusive. The haptics\n subsystem will use the same driver as the joystick system does.

    \n

    ALLEGRO_JOYSTICK

    \n-
    typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK;\n-typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK;
    \n+
    typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK;
    \n

    Source\n Code

    \n

    This is an abstract data type representing a physical joystick.

    \n

    See also: al_get_joystick

    \n

    Examples:

    \n@@ -221,16 +220,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_haptic.c#L14\">ex_haptic.c\n
  • ex_joystick_hotplugging.c
  • \n
  • ex_joystick_events.c
  • \n \n

    ALLEGRO_JOYSTICK_STATE

    \n-
    typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE;\n-typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE;
    \n+
    typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE;
    \n

    Source\n Code

    \n

    This is a structure that is used to hold a \u201csnapshot\u201d of a joystick\u2019s\n axes and buttons at a particular instant. All fields public and\n read-only.

    \n
    struct {\n@@ -243,16 +241,15 @@\n 
      \n
    • ex_joystick_hotplugging.c
    • \n
    • ex_joystick_events.c
    • \n
    \n

    ALLEGRO_JOYFLAGS

    \n-
    enum ALLEGRO_JOYFLAGS\n-enum ALLEGRO_JOYFLAGS
    \n+
    enum ALLEGRO_JOYFLAGS
    \n

    Source\n Code

    \n
      \n
    • ALLEGRO_JOYFLAG_DIGITAL - the stick provides digital input
    • \n
    • ALLEGRO_JOYFLAG_ANALOGUE - the stick provides analogue input
    • \n
    \n@@ -590,12 +587,12 @@\n
  • ex_joystick_events.c
  • \n
  • ex_haptic2.cpp
  • \n \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:55 UTC\n+ - Last updated: 2024-01-07 09:01:12 UTC\n

    \n
    \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -75,39 +75,36 @@\n al_set_config_value(al_get_system_config(), \u00e2\u0080\u009cjoystick\u00e2\u0080\u009d, \u00e2\u0080\u009cdriver\u00e2\u0080\u009d,\n \u00e2\u0080\u009cxinput\u00e2\u0080\u009d) before calling al_install_joystick, or by setting the same option\n in the allegro5.cfg configuration file. The Xinput and DirectInput drivers are\n mutually exclusive. The haptics subsystem will use the same driver as the\n joystick system does.\n ****** ALLEGRO_JOYSTICK ******\n typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK;\n-typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK;\n Source_Code\n This is an abstract data type representing a physical joystick.\n See also: al_get_joystick\n Examples:\n * ex_haptic.c\n * ex_joystick_hotplugging.c\n * ex_joystick_events.c\n ****** ALLEGRO_JOYSTICK_STATE ******\n typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE;\n-typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE;\n Source_Code\n This is a structure that is used to hold a \u00e2\u0080\u009csnapshot\u00e2\u0080\u009d of a joystick\u00e2\u0080\u0099s\n axes and buttons at a particular instant. All fields public and read-only.\n struct {\n float axis[num_axes]; // -1.0 to 1.0\n } stick[num_sticks];\n int button[num_buttons]; // 0 to 32767\n See also: al_get_joystick_state\n Examples:\n * ex_joystick_hotplugging.c\n * ex_joystick_events.c\n ****** ALLEGRO_JOYFLAGS ******\n enum ALLEGRO_JOYFLAGS\n-enum ALLEGRO_JOYFLAGS\n Source_Code\n * ALLEGRO_JOYFLAG_DIGITAL - the stick provides digital input\n * ALLEGRO_JOYFLAG_ANALOGUE - the stick provides analogue input\n (this enum is a holdover from the old API and may be removed)\n See also: al_get_joystick_stick_flags\n ****** al_install_joystick ******\n bool al_install_joystick(void)\n@@ -287,8 +284,8 @@\n Source_Code\n Returns the global joystick event source. All joystick_events are generated by\n this event source.\n Examples:\n * ex_joystick_hotplugging.c\n * ex_joystick_events.c\n * ex_haptic2.cpp\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:55 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:12 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/keyboard.html", "source2": "./usr/share/doc/allegro5-doc/refman/keyboard.html", "unified_diff": "@@ -179,16 +179,15 @@\n
  • al_get_keyboard_event_source
  • \n \n \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    ALLEGRO_KEYBOARD_STATE

    \n-
    typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE;\n-typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE;
    \n+
    typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE;
    \n

    Source\n Code

    \n

    This is a structure that is used to hold a \u201csnapshot\u201d of a keyboard\u2019s\n state at a particular instant. It contains the following publically\n readable fields:

    \n
      \n@@ -472,12 +471,12 @@\n
    • ex_opengl.c
    • \n
    • ex_timedwait.c
    • \n
    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:55 UTC\n+ - Last updated: 2024-01-07 09:01:12 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -59,15 +59,14 @@\n * al_keycode_to_name\n * al_set_keyboard_leds\n * al_get_keyboard_event_source\n These functions are declared in the main Allegro header file:\n #include \n ****** ALLEGRO_KEYBOARD_STATE ******\n typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE;\n-typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE;\n Source_Code\n This is a structure that is used to hold a \u00e2\u0080\u009csnapshot\u00e2\u0080\u009d of a keyboard\u00e2\u0080\u0099s\n state at a particular instant. It contains the following publically readable\n fields:\n * display - points to the display that had keyboard focus at the time the\n state was saved. If no display was focused, this points to NULL.\n You cannot read the state of keys directly. Use the function al_key_down.\n@@ -269,8 +268,8 @@\n Retrieve the keyboard event source. All keyboard_events are generated by this\n event source.\n Returns NULL if the keyboard subsystem was not installed.\n Examples:\n * ex_keyboard_events.c\n * ex_opengl.c\n * ex_timedwait.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:55 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:12 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/main.html", "source2": "./usr/share/doc/allegro5-doc/refman/main.html", "unified_diff": "@@ -178,12 +178,12 @@\n
    int main(int argc, char **argv)
    \n

    This addon does nothing on platforms that don\u2019t require its\n functionality, but you should keep it in mind in case you need to port\n to platforms that do require it.

    \n

    Link with allegro_main.

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:58 UTC\n+ - Last updated: 2024-01-07 09:01:16 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -56,8 +56,8 @@\n If the user main function is defined in C++, then it must have the following\n signature for this addon to work:\n int main(int argc, char **argv)\n This addon does nothing on platforms that don\u00e2\u0080\u0099t require its functionality,\n but you should keep it in mind in case you need to port to platforms that do\n require it.\n Link with allegro_main.\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:58 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:16 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/memfile.html", "source2": "./usr/share/doc/allegro5-doc/refman/memfile.html", "unified_diff": "@@ -171,16 +171,15 @@\n \n

    The memfile interface allows you to treat a fixed block of contiguous\n memory as a file that can be used with Allegro\u2019s I/O functions.

    \n

    These functions are declared in the following header file. Link with\n allegro_memfile.

    \n
     #include <allegro5/allegro_memfile.h>
    \n

    al_open_memfile

    \n-
    ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode)\n-ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode)
    \n+
    ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode)
    \n

    Source\n Code

    \n

    Returns a file handle to the block of memory. All read and write\n operations act upon the memory directly, so it must not be freed while\n the file remains open.

    \n

    The mode can be any combination of \u201cr\u201d (readable) and \u201cw\u201d (writable).\n@@ -194,21 +193,20 @@\n

    Examples:

    \n
      \n
    • ex_memfile.c
    • \n
    \n al_get_allegro_memfile_version\n-
    uint32_t al_get_allegro_memfile_version(void)\n-uint32_t al_get_allegro_memfile_version(void)
    \n+
    uint32_t al_get_allegro_memfile_version(void)
    \n

    Source\n Code

    \n

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:58 UTC\n+ - Last updated: 2024-01-07 09:01:16 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -52,26 +52,24 @@\n The memfile interface allows you to treat a fixed block of contiguous memory as\n a file that can be used with Allegro\u00e2\u0080\u0099s I/O functions.\n These functions are declared in the following header file. Link with\n allegro_memfile.\n #include \n ****** al_open_memfile ******\n ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode)\n-ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode)\n Source_Code\n Returns a file handle to the block of memory. All read and write operations act\n upon the memory directly, so it must not be freed while the file remains open.\n The mode can be any combination of \u00e2\u0080\u009cr\u00e2\u0080\u009d (readable) and \u00e2\u0080\u009cw\u00e2\u0080\u009d (writable).\n Regardless of the mode, the file always opens at position 0. The file size is\n fixed and cannot be expanded. The file is always read from/written to in binary\n mode, which means that no newline translation is performed.\n It should be closed with al_fclose. After the file is closed, you are\n responsible for freeing the memory (if needed).\n Examples:\n * ex_memfile.c\n ****** al_get_allegro_memfile_version ******\n uint32_t al_get_allegro_memfile_version(void)\n-uint32_t al_get_allegro_memfile_version(void)\n Source_Code\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version.\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:58 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:16 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/memory.html", "source2": "./usr/share/doc/allegro5-doc/refman/memory.html", "unified_diff": "@@ -177,17 +177,15 @@\n
  • al_set_memory_interface
  • \n \n \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    al_malloc

    \n
    #define al_malloc(n) \\\n-   (al_malloc_with_context((n), __LINE__, __FILE__, __func__))\n-#define al_malloc(n) \\\n-   (al_malloc_with_context((n), __LINE__, __FILE__, __func__))
    \n+ (al_malloc_with_context((n), __LINE__, __FILE__, __func__))
    \n

    Source\n Code

    \n

    Like malloc() in the C standard library, but the implementation may\n be overridden.

    \n

    This is a macro.

    \n

    See also: al_free, ex_audio_timer.c\n

  • ex_vertex_buffer.c
  • \n \n

    al_free

    \n
    #define al_free(p) \\\n-   (al_free_with_context((p), __LINE__, __FILE__, __func__))\n-#define al_free(p) \\\n-   (al_free_with_context((p), __LINE__, __FILE__, __func__))
    \n+ (al_free_with_context((p), __LINE__, __FILE__, __func__))
    \n

    Source\n Code

    \n

    Like free() in the C standard library, but the implementation may be\n overridden.

    \n

    Additionally, on Windows, a memory block allocated by one DLL must be\n freed from the same DLL. In the few places where an Allegro function\n@@ -226,30 +222,26 @@\n

  • ex_record_name.c
  • \n
  • ex_vertex_buffer.c
  • \n \n

    al_realloc

    \n
    #define al_realloc(p, n) \\\n-   (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__))\n-#define al_realloc(p, n) \\\n-   (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__))
    \n+ (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__))
    \n

    Source\n Code

    \n

    Like realloc() in the C standard library, but the implementation may\n be overridden.

    \n

    This is a macro.

    \n

    See also: al_malloc, al_realloc_with_context

    \n

    al_calloc

    \n
    #define al_calloc(c, n) \\\n-   (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__))\n-#define al_calloc(c, n) \\\n-   (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__))
    \n+ (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__))\n

    Source\n Code

    \n

    Like calloc() in the C standard library, but the implementation may\n be overridden.

    \n

    This is a macro.

    \n

    See also: al_malloc,

    \n

    This calls calloc() from the Allegro library (this matters on\n Windows), unless overridden with al_set_memory_interface,

    \n

    Generally you should use the al_calloc macro.

    \n

    ALLEGRO_MEMORY_INTERFACE

    \n-
    typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;\n-typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;
    \n+
    typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;
    \n

    Source\n Code

    \n

    This structure has the following fields.

    \n
    void *(*mi_malloc)(size_t n, int line, const char *file, const char *func);\n void (*mi_free)(void *ptr, int line, const char *file, const char *func);\n void *(*mi_realloc)(void *ptr, size_t n, int line, const char *file,\n@@ -332,12 +323,12 @@\n The context arguments may be used for debugging. The new functions\n should be thread safe.

    \n

    If the pointer is NULL, the default behaviour will be restored.

    \n

    See also: ALLEGRO_MEMORY_INTERFACE

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:56 UTC\n+ - Last updated: 2024-01-07 09:01:12 UTC\n

    \n
    \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -58,30 +58,26 @@\n * ALLEGRO_MEMORY_INTERFACE\n * al_set_memory_interface\n These functions are declared in the main Allegro header file:\n #include \n ****** al_malloc ******\n #define al_malloc(n) \\\n (al_malloc_with_context((n), __LINE__, __FILE__, __func__))\n-#define al_malloc(n) \\\n- (al_malloc_with_context((n), __LINE__, __FILE__, __func__))\n Source_Code\n Like malloc() in the C standard library, but the implementation may be\n overridden.\n This is a macro.\n See also: al_free, al_realloc, al_calloc, al_malloc_with_context,\n al_set_memory_interface\n Examples:\n * ex_audio_timer.c\n * ex_vertex_buffer.c\n ****** al_free ******\n #define al_free(p) \\\n (al_free_with_context((p), __LINE__, __FILE__, __func__))\n-#define al_free(p) \\\n- (al_free_with_context((p), __LINE__, __FILE__, __func__))\n Source_Code\n Like free() in the C standard library, but the implementation may be\n overridden.\n Additionally, on Windows, a memory block allocated by one DLL must be freed\n from the same DLL. In the few places where an Allegro function returns a\n pointer that must be freed, you must use al_free for portability to Windows.\n This is a macro.\n@@ -89,26 +85,22 @@\n Examples:\n * ex_clipboard.c\n * ex_record_name.c\n * ex_vertex_buffer.c\n ****** al_realloc ******\n #define al_realloc(p, n) \\\n (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__))\n-#define al_realloc(p, n) \\\n- (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__))\n Source_Code\n Like realloc() in the C standard library, but the implementation may be\n overridden.\n This is a macro.\n See also: al_malloc, al_realloc_with_context\n ****** al_calloc ******\n #define al_calloc(c, n) \\\n (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__))\n-#define al_calloc(c, n) \\\n- (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__))\n Source_Code\n Like calloc() in the C standard library, but the implementation may be\n overridden.\n This is a macro.\n See also: al_malloc, al_calloc_with_context\n Examples:\n * ex_record_name.c\n@@ -138,15 +130,14 @@\n int line, const char *file, const char *func)\n Source_Code\n This calls calloc() from the Allegro library (this matters on Windows), unless\n overridden with al_set_memory_interface,\n Generally you should use the al_calloc macro.\n ****** ALLEGRO_MEMORY_INTERFACE ******\n typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;\n-typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;\n Source_Code\n This structure has the following fields.\n void *(*mi_malloc)(size_t n, int line, const char *file, const char *func);\n void (*mi_free)(void *ptr, int line, const char *file, const char *func);\n void *(*mi_realloc)(void *ptr, size_t n, int line, const char *file,\n const char *func);\n void *(*mi_calloc)(size_t count, size_t n, int line, const char *file,\n@@ -157,8 +148,8 @@\n Source_Code\n Override the memory management functions with implementations of\n al_malloc_with_context, al_free_with_context, al_realloc_with_context and\n al_calloc_with_context. The context arguments may be used for debugging. The\n new functions should be thread safe.\n If the pointer is NULL, the default behaviour will be restored.\n See also: ALLEGRO_MEMORY_INTERFACE\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:56 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:12 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/misc.html", "source2": "./usr/share/doc/allegro5-doc/refman/misc.html", "unified_diff": "@@ -167,16 +167,15 @@\n
  • ALLEGRO_PI
  • \n
  • al_run_main
  • \n \n \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    ALLEGRO_PI

    \n-
    #define ALLEGRO_PI        3.14159265358979323846\n-#define ALLEGRO_PI        3.14159265358979323846
    \n+
    #define ALLEGRO_PI        3.14159265358979323846
    \n

    Source\n Code

    \n

    C99 compilers have no predefined value like M_PI for the constant \u03c0,\n but you can use this one instead.

    \n

    Examples:

    \n
      \n@@ -199,12 +198,12 @@\n other system (like OSX) don\u2019t allow calling al_install_system in the main\n thread. al_run_main will know what to do in that case.

      \n

      The passed argc and argv will simply be passed on to user_main and\n the return value of user_main will be returned.

      \n

      \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:56 UTC\n+ - Last updated: 2024-01-07 09:01:12 UTC\n

      \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -49,15 +49,14 @@\n \n * ALLEGRO_PI\n * al_run_main\n These functions are declared in the main Allegro header file:\n #include \n ****** ALLEGRO_PI ******\n #define ALLEGRO_PI 3.14159265358979323846\n-#define ALLEGRO_PI 3.14159265358979323846\n Source_Code\n C99 compilers have no predefined value like M_PI for the constant \u00cf\u0080, but you\n can use this one instead.\n Examples:\n * ex_convert.c\n * ex_opengl.c\n * ex_blend_bench.c\n@@ -67,8 +66,8 @@\n This function is useful in cases where you don\u00e2\u0080\u0099t have a main() function but\n want to run Allegro (mostly useful in a wrapper library). Under Windows and\n Linux this is no problem because you simply can call al_install_system. But\n some other system (like OSX) don\u00e2\u0080\u0099t allow calling al_install_system in the\n main thread. al_run_main will know what to do in that case.\n The passed argc and argv will simply be passed on to user_main and the return\n value of user_main will be returned.\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:56 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:12 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/monitor.html", "source2": "./usr/share/doc/allegro5-doc/refman/monitor.html", "unified_diff": "@@ -176,16 +176,15 @@\n
    • al_get_monitor_refresh_rate
    • \n
    \n \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    ALLEGRO_MONITOR_INFO

    \n-
    typedef struct ALLEGRO_MONITOR_INFO\n-typedef struct ALLEGRO_MONITOR_INFO
    \n+
    typedef struct ALLEGRO_MONITOR_INFO
    \n

    Source\n Code

    \n

    Describes a monitor\u2019s size and position relative to other monitors.\n x1, y1 will be 0, 0 on the primary display. Other monitors can have\n negative values if they are to the left or above the primary display.\n x2, y2 are the coordinates one beyond the bottom right pixel, so that\n@@ -321,12 +320,12 @@\n API: This is an experimental feature and currently only works\n on Windows.

    \n \n

    See also: al_get_monitor_info

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:56 UTC\n+ - Last updated: 2024-01-07 09:01:12 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -54,15 +54,14 @@\n * al_get_monitor_dpi\n * al_get_num_video_adapters\n * al_get_monitor_refresh_rate\n These functions are declared in the main Allegro header file:\n #include \n ****** ALLEGRO_MONITOR_INFO ******\n typedef struct ALLEGRO_MONITOR_INFO\n-typedef struct ALLEGRO_MONITOR_INFO\n Source_Code\n Describes a monitor\u00e2\u0080\u0099s size and position relative to other monitors. x1, y1\n will be 0, 0 on the primary display. Other monitors can have negative values if\n they are to the left or above the primary display. x2, y2 are the coordinates\n one beyond the bottom right pixel, so that x2-x1 gives the width and y2-y1\n gives the height of the display.\n typedef struct ALLEGRO_MONITOR_INFO\n@@ -134,8 +133,8 @@\n int al_get_monitor_refresh_rate(int adapter)\n Source_Code\n Returns the current refresh rate of a monitor attached to the display adapter.\n Since: 5.2.6\n Unstable_API: This is an experimental feature and currently only\n works on Windows.\n See also: al_get_monitor_info\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:56 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:12 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/mouse.html", "source2": "./usr/share/doc/allegro5-doc/refman/mouse.html", "unified_diff": "@@ -199,16 +199,15 @@\n
  • al_ungrab_mouse
  • \n \n \n \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    ALLEGRO_MOUSE_STATE

    \n-
    typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE;\n-typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE;
    \n+
    typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE;
    \n

    Source\n Code

    \n

    Public fields (read only):

    \n
      \n
    • x - mouse x position

    • \n
    • y - mouse y position

    • \n@@ -635,12 +634,12 @@\n program.

      \n
      \n

      Note: not yet implemented on Mac OS X.

      \n
      \n

      See also: al_grab_mouse

      \n

      \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:56 UTC\n+ - Last updated: 2024-01-07 09:01:13 UTC\n

      \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -73,15 +73,14 @@\n o al_show_mouse_cursor\n o al_grab_mouse\n o al_ungrab_mouse\n These functions are declared in the main Allegro header file:\n #include \n ****** ALLEGRO_MOUSE_STATE ******\n typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE;\n-typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE;\n Source_Code\n Public fields (read only):\n * x - mouse x position\n * y - mouse y position\n * w, z - mouse wheel position (2D \u00e2\u0080\u0098ball\u00e2\u0080\u0099)\n * buttons - mouse buttons bitfield\n The zeroth bit is set if the primary mouse button is held down, the first\n@@ -345,8 +344,8 @@\n See also: al_ungrab_mouse\n ***** al_ungrab_mouse *****\n bool al_ungrab_mouse(void)\n Source_Code\n Stop confining the mouse cursor to any display belonging to the program.\n Note: not yet implemented on Mac OS X.\n See also: al_grab_mouse\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:56 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:13 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/native_dialog.html", "source2": "./usr/share/doc/allegro5-doc/refman/native_dialog.html", "unified_diff": "@@ -231,42 +231,39 @@\n
    \n \n \n

    These functions are declared in the following header file. Link with\n allegro_dialog.

    \n
     #include <allegro5/allegro_native_dialog.h>
    \n

    ALLEGRO_FILECHOOSER

    \n-
    typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER;\n-typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER;
    \n+
    typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER;
    \n

    Source\n Code

    \n

    Opaque handle to a native file dialog.

    \n

    Examples:

    \n
      \n
    • ex_native_filechooser.c
    • \n
    \n

    ALLEGRO_TEXTLOG

    \n-
    typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG;\n-typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG;
    \n+
    typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG;
    \n

    Source\n Code

    \n

    Opaque handle to a text log window.

    \n

    Examples:

    \n
      \n
    • common.c
    • \n
    • ex_native_filechooser.c
    • \n
    \n

    al_init_native_dialog_addon

    \n-
    bool al_init_native_dialog_addon(void)\n-bool al_init_native_dialog_addon(void)
    \n+
    bool al_init_native_dialog_addon(void)
    \n

    Source\n Code

    \n

    Initialise the native dialog addon.

    \n

    Returns true on success, false on error.

    \n

    Since: 5.0.9, 5.1.0

    \n
    \n@@ -287,44 +284,37 @@\n
  • ex_window_maximized.c
  • \n
  • ex_menu.c
  • \n \n al_is_native_dialog_addon_initialized\n-
    bool al_is_native_dialog_addon_initialized(void)\n-bool al_is_native_dialog_addon_initialized(void)
    \n+
    bool al_is_native_dialog_addon_initialized(void)
    \n

    Source\n Code

    \n

    Returns true if the native dialog addon is initialized, otherwise\n returns false.

    \n

    Since: 5.2.6

    \n al_shutdown_native_dialog_addon\n-
    void al_shutdown_native_dialog_addon(void)\n-void al_shutdown_native_dialog_addon(void)
    \n+
    void al_shutdown_native_dialog_addon(void)
    \n

    Source\n Code

    \n

    Shut down the native dialog addon.

    \n

    Since: 5.0.9, 5.1.5

    \n

    See also: al_init_native_dialog_addon

    \n

    al_create_native_file_dialog

    \n
    ALLEGRO_FILECHOOSER *al_create_native_file_dialog(\n    char const *initial_path,\n    char const *title,\n    char const *patterns,\n-   int mode)\n-ALLEGRO_FILECHOOSER *al_create_native_file_dialog(\n-   char const *initial_path,\n-   char const *title,\n-   char const *patterns,\n-   int mode)
    \n+ int mode)
    \n

    Source\n Code

    \n

    Creates a new native file dialog. You should only have one such\n dialog opened at a time.

    \n

    Parameters:

    \n
      \n@@ -386,17 +376,15 @@\n

      Examples:

      \n
        \n
      • ex_native_filechooser.c
      • \n
      \n

      al_show_native_file_dialog

      \n
      bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display,\n-   ALLEGRO_FILECHOOSER *dialog)\n-bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display,\n-   ALLEGRO_FILECHOOSER *dialog)
      \n+ ALLEGRO_FILECHOOSER *dialog)\n

      Source\n Code

      \n

      Show the dialog window. The display may be NULL, otherwise the given\n display is treated as the parent if possible.

      \n

      This function blocks the calling thread until it returns, so you may\n want to spawn a thread with Examples:

      \n
        \n
      • ex_native_filechooser.c
      • \n
      \n al_get_native_file_dialog_count\n-
      int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog)\n-int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog)
      \n+
      int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog)
      \n

      Source\n Code

      \n

      Returns the number of files selected, or 0 if the dialog was\n cancelled.

      \n

      Examples:

      \n
        \n
      • ex_native_filechooser.c
      • \n
      \n al_get_native_file_dialog_path\n
      const char *al_get_native_file_dialog_path(\n-   const ALLEGRO_FILECHOOSER *dialog, size_t i)\n-const char *al_get_native_file_dialog_path(\n-   const ALLEGRO_FILECHOOSER *dialog, size_t i)
      \n+ const ALLEGRO_FILECHOOSER *dialog, size_t i)\n

      Source\n Code

      \n

      Returns one of the selected paths with index i. The\n index should range from 0 to the return value of al_get_native_file_dialog_count\n -1.

      \n

      Examples:

      \n
        \n
      • ex_native_filechooser.c
      • \n
      \n al_destroy_native_file_dialog\n-
      void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog)\n-void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog)
      \n+
      void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog)
      \n

      Source\n Code

      \n

      Frees up all resources used by the file dialog.

      \n

      Examples:

      \n
        \n
      • ex_native_filechooser.c
      • \n
      \n

      al_show_native_message_box

      \n
      int al_show_native_message_box(ALLEGRO_DISPLAY *display,\n    char const *title, char const *heading, char const *text,\n-   char const *buttons, int flags)\n-int al_show_native_message_box(ALLEGRO_DISPLAY *display,\n-   char const *title, char const *heading, char const *text,\n-   char const *buttons, int flags)
      \n+ char const *buttons, int flags)\n

      Source\n Code

      \n

      Show a native GUI message box. This can be used for example to\n display an error message if creation of an initial display fails. The\n display may be NULL, otherwise the given display is treated as the\n parent if possible.

      \n@@ -535,16 +516,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_nodisplay.c#L54\">ex_nodisplay.c\n
    • common.c
    • \n
    • ex_menu.c
    • \n
    \n

    al_open_native_text_log

    \n-
    ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags)\n-ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags)
    \n+
    ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags)
    \n

    Source\n Code

    \n

    Opens a window to which you can append log messages with al_append_native_text_log.\n This can be useful for debugging if you don\u2019t want to depend on a\n console being available.

    \n@@ -574,16 +554,15 @@\n
      \n
    • common.c
    • \n
    • ex_native_filechooser.c
    • \n
    \n

    al_close_native_text_log

    \n-
    void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog)\n-void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog)
    \n+
    void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog)
    \n

    Source\n Code

    \n

    Closes a message log window opened with al_open_native_text_log\n earlier.

    \n

    Does nothing if passed NULL.

    \n@@ -594,17 +573,15 @@\n
  • common.c
  • \n
  • ex_native_filechooser.c
  • \n \n

    al_append_native_text_log

    \n
    void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog,\n-   char const *format, ...)\n-void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog,\n-   char const *format, ...)
    \n+ char const *format, ...)\n

    Source\n Code

    \n

    Appends a line of text to the message log window and scrolls to the\n bottom (if the line would not be visible otherwise). This works like\n printf. A line is continued until you add a newline character.

    \n

    If the window is NULL then this function will fall back to calling\n@@ -616,17 +593,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/common.c#L84\">common.c\n

  • ex_native_filechooser.c
  • \n \n al_get_native_text_log_event_source\n
    ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source(\n-   ALLEGRO_TEXTLOG *textlog)\n-ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source(\n-   ALLEGRO_TEXTLOG *textlog)
    \n+ ALLEGRO_TEXTLOG *textlog)\n

    Source\n Code

    \n

    Get an event source for a text log window. The possible events\n are:

    \n
    \n
    ALLEGRO_EVENT_NATIVE_DIALOG_CLOSE
    \n@@ -646,16 +621,15 @@\n
  • ex_saw.c
  • \n
  • ex_resample_test.c
  • \n \n al_get_allegro_native_dialog_version\n-
    uint32_t al_get_allegro_native_dialog_version(void)\n-uint32_t al_get_allegro_native_dialog_version(void)
    \n+
    uint32_t al_get_allegro_native_dialog_version(void)
    \n

    Source\n Code

    \n

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    \n

    Menus

    \n

    Menus are implemented on Windows, X and OS X. Menus on X are\n@@ -705,29 +679,27 @@\n exit_program();\n }\n }\n

    Because there is no \u201cDISPLAY_DESTROYED\u201d event, you must call\n al_set_display_menu(display, NULL) before destroying any display with a\n menu attached, to avoid leaking resources.

    \n

    ALLEGRO_MENU

    \n-
    typedef struct ALLEGRO_MENU ALLEGRO_MENU;\n-typedef struct ALLEGRO_MENU ALLEGRO_MENU;
    \n+
    typedef struct ALLEGRO_MENU ALLEGRO_MENU;
    \n

    Source\n Code

    \n

    An opaque data type that represents a menu that contains menu items.\n Each of the menu items may optionally include a sub-menu.

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    ALLEGRO_MENU_INFO

    \n-
    typedef struct ALLEGRO_MENU_INFO {\n-typedef struct ALLEGRO_MENU_INFO {
    \n+
    typedef struct ALLEGRO_MENU_INFO {
    \n

    Source\n Code

    \n

    A structure that defines how to create a complete menu system. For\n standard menu items, the following format is used:

    \n
       { caption, id, flags, icon }
    \n

    For special items, these macros are helpful:

    \n@@ -762,28 +734,26 @@\n href=\"native_dialog.html#al_build_menu\">al_build_menu

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_create_menu

    \n-
    ALLEGRO_MENU *al_create_menu(void)\n-ALLEGRO_MENU *al_create_menu(void)
    \n+
    ALLEGRO_MENU *al_create_menu(void)
    \n

    Source\n Code

    \n

    Creates a menu container that can hold menu items.

    \n

    Returns NULL on failure.

    \n

    Since: 5.1.0

    \n

    See also: al_create_popup_menu,\n al_build_menu

    \n

    al_create_popup_menu

    \n-
    ALLEGRO_MENU *al_create_popup_menu(void)\n-ALLEGRO_MENU *al_create_popup_menu(void)
    \n+
    ALLEGRO_MENU *al_create_popup_menu(void)
    \n

    Source\n Code

    \n

    Creates a menu container for popup menus. Only the root (outermost)\n menu should be created with this function. Sub menus of popups should be\n created with al_create_menu.

    \n@@ -794,16 +764,15 @@\n href=\"native_dialog.html#al_build_menu\">al_build_menu

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_build_menu

    \n-
    ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info)\n-ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info)
    \n+
    ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info)
    \n

    Source\n Code

    \n

    Builds a menu based on the specifications of a sequence of\n ALLEGRO_MENU_INFO elements.

    \n

    Returns a pointer to the root ALLEGRO_MENU, or\n NULL on failure. To gain access to the other menus and\n@@ -817,17 +786,15 @@\n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_append_menu_item

    \n
    int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id,\n-   int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n-int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id,\n-   int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)
    \n+ int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n

    Source\n Code

    \n

    Appends a menu item to the end of the menu. See al_insert_menu_item\n for more information.

    \n

    Since: 5.1.0

    \n@@ -838,17 +805,15 @@\n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_insert_menu_item

    \n
    int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title,\n-   uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n-int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title,\n-   uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)
    \n+ uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n

    Source\n Code

    \n

    Inserts a menu item at the spot specified. See the introductory text\n for a detailed explanation of how the pos parameter is\n interpreted.

    \n

    The parent menu can be a popup menu or a regular menu.\n@@ -879,16 +844,15 @@\n

    Returns true on success.

    \n

    Since: 5.1.0

    \n

    See also: al_append_menu_item,\n al_remove_menu_item

    \n

    al_remove_menu_item

    \n-
    bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos)\n-bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos)
    \n+
    bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos)
    \n

    Source\n Code

    \n

    Removes the specified item from the menu and destroys it. If the item\n contains a sub-menu, it too is destroyed. Any references to it are\n invalidated. If you want to preserve that sub-menu, you should first\n make a copy with al_destroy_menu

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_clone_menu

    \n-
    ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu)\n-ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu)
    \n+
    ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu)
    \n

    Source\n Code

    \n

    Makes a copy of a menu so that it can be reused on another display.\n The menu being cloned can be anything: a regular menu, a popup menu, or\n a sub-menu.

    \n

    Returns the cloned menu.

    \n@@ -921,16 +884,15 @@\n href=\"native_dialog.html#al_clone_menu_for_popup\">al_clone_menu_for_popup

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_clone_menu_for_popup

    \n-
    ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu)\n-ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu)
    \n+
    ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu)
    \n

    Source\n Code

    \n

    Exactly like al_clone_menu, except that\n the copy is for a popup menu.

    \n

    Since: 5.1.0

    \n@@ -938,16 +900,15 @@\n href=\"native_dialog.html#al_clone_menu\">al_clone_menu

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_destroy_menu

    \n-
    void al_destroy_menu(ALLEGRO_MENU *menu)\n-void al_destroy_menu(ALLEGRO_MENU *menu)
    \n+
    void al_destroy_menu(ALLEGRO_MENU *menu)
    \n

    Source\n Code

    \n

    Destroys an entire menu, including its sub-menus. Any references to\n it or a sub-menu are no longer valid. It is safe to call this on a menu\n that is currently being displayed.

    \n

    Since: 5.1.0

    \n@@ -955,28 +916,26 @@\n href=\"native_dialog.html#al_remove_menu_item\">al_remove_menu_item

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_get_menu_item_caption

    \n-
    const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos)\n-const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos)
    \n+
    const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos)
    \n

    Source\n Code

    \n

    Returns the caption associated with the menu item. It is valid as\n long as the caption is not modified.

    \n

    Returns NULL if the item was not found.

    \n

    Since: 5.1.0

    \n

    See also: al_set_menu_item_caption

    \n

    al_set_menu_item_caption

    \n-
    void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption)\n-void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption)
    \n+
    void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption)
    \n

    Source\n Code

    \n

    Updates the menu item caption with the new caption. This\n will invalidate any previous calls to al_get_menu_item_caption.

    \n

    Since: 5.1.0

    \n@@ -984,16 +943,15 @@\n href=\"native_dialog.html#al_get_menu_item_caption\">al_get_menu_item_caption

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_get_menu_item_flags

    \n-
    int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos)\n-int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos)
    \n+
    int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos)
    \n

    Source\n Code

    \n

    Returns the currently set flags. See al_insert_menu_item\n for a description of the available flags.

    \n

    Returns -1 if the item was not found.

    \n@@ -1004,16 +962,15 @@\n href=\"native_dialog.html#al_toggle_menu_item_flags\">al_toggle_menu_item_flags

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_set_menu_item_flags

    \n-
    void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)\n-void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)
    \n+
    void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)
    \n

    Source\n Code

    \n

    Updates the menu item\u2019s flags. See al_insert_menu_item\n for a description of the available flags.

    \n

    Since: 5.1.0

    \n@@ -1023,16 +980,15 @@\n href=\"native_dialog.html#al_toggle_menu_item_flags\">al_toggle_menu_item_flags

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_toggle_menu_item_flags

    \n-
    int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)\n-int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)
    \n+
    int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)
    \n

    Source\n Code

    \n

    Toggles the specified menu item\u2019s flags. See al_insert_menu_item\n for a description of the available flags.

    \n

    Returns a bitfield of only the specified flags that are set after the\n@@ -1045,31 +1001,29 @@\n al_get/set_menu_item_flags.

    \n
    \n

    See also: al_get_menu_item_flags,\n al_set_menu_item_flags

    \n

    al_get_menu_item_icon

    \n-
    ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos)\n-ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos)
    \n+
    ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos)
    \n

    Source\n Code

    \n

    Returns the icon associated with the menu. It is safe to draw to the\n returned bitmap, but you must call al_set_menu_item_icon\n in order for the changes to be applied.

    \n

    Returns NULL if the item was not found or if it has no\n icon.

    \n

    Since: 5.1.0

    \n

    See also: al_set_menu_item_icon

    \n

    al_set_menu_item_icon

    \n-
    void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon)\n-void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon)
    \n+
    void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon)
    \n

    Source\n Code

    \n

    Sets the icon for the specified menu item. The menu assumes ownership\n of the ALLEGRO_BITMAP and may invalidate the pointer, so\n you must clone it if you wish to continue using it.

    \n

    If a video bitmap is passed, it will automatically be converted to a\n@@ -1080,16 +1034,15 @@\n al_clone_bitmap

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_find_menu

    \n-
    ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id)\n-ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id)
    \n+
    ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id)
    \n

    Source\n Code

    \n

    Searches in the haystack menu for any submenu with the\n given id. (Note that this only represents a literal ID, and\n cannot be used as an index.)

    \n

    Returns the menu, if found. Otherwise returns NULL.

    \n@@ -1099,17 +1052,15 @@\n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_find_menu_item

    \n
    bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU **menu,\n-   int *index)\n-bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU **menu,\n-   int *index)
    \n+ int *index)\n

    Source\n Code

    \n

    Searches in the haystack menu for an item with the given\n id. (Note that this only represents a literal ID, and\n cannot be used as an index.)

    \n

    If menu and index are not\n@@ -1118,16 +1069,15 @@\n was not found, then their values are undefined.)

    \n

    Returns true if the menu item was found.

    \n

    Since: 5.1.0

    \n

    See also: al_find_menu

    \n al_get_default_menu_event_source\n-
    ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void)\n-ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void)
    \n+
    ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void)
    \n

    Source\n Code

    \n

    Returns the default event source used for menu clicks. If a menu was\n not given its own event source via al_enable_menu_event_source,\n then it will use this default source.

    \n@@ -1140,16 +1090,15 @@\n href=\"native_dialog.html#al_disable_menu_event_source\">al_disable_menu_event_source

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_enable_menu_event_source

    \n-
    ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu)\n-ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu)
    \n+
    ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu)
    \n

    Source\n Code

    \n

    Enables a unique event source for this menu. It and all of its\n sub-menus will use this event source. (It is safe to call this multiple\n times on the same menu.)

    \n

    Returns the event source.

    \n@@ -1157,40 +1106,37 @@\n

    See also: al_register_event_source,\n al_get_default_menu_event_source,\n al_disable_menu_event_source

    \n

    al_disable_menu_event_source

    \n-
    void al_disable_menu_event_source(ALLEGRO_MENU *menu)\n-void al_disable_menu_event_source(ALLEGRO_MENU *menu)
    \n+
    void al_disable_menu_event_source(ALLEGRO_MENU *menu)
    \n

    Source\n Code

    \n

    Disables a unique event source for the menu, causing it to use the\n default event source.

    \n

    Since: 5.1.0

    \n

    See also: al_get_default_menu_event_source,\n al_enable_menu_event_source

    \n

    al_get_display_menu

    \n-
    ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *display)\n-ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *display)
    \n+
    ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *display)
    \n

    Source\n Code

    \n

    Returns the menu associated with the display, or\n NULL if it does not have a menu.

    \n

    Since: 5.1.0

    \n

    See also: al_set_display_menu

    \n

    al_set_display_menu

    \n-
    bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu)\n-bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu)
    \n+
    bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu)
    \n

    Source\n Code

    \n

    Associates the menu with the display and\n shows it. If there was a previous menu associated with the display, it\n will be destroyed. If you don\u2019t want that to happen, you should first\n remove the menu with al_remove_display_menu

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_popup_menu

    \n-
    bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display)\n-bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display)
    \n+
    bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display)
    \n

    Source\n Code

    \n

    Displays a context menu next to the mouse cursor. The menu must have\n been created with al_create_popup_menu.\n It generates events just like a regular display menu does. It is\n@@ -1241,16 +1186,15 @@\n href=\"native_dialog.html#al_create_popup_menu\">al_create_popup_menu

    \n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    al_remove_display_menu

    \n-
    ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display)\n-ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display)
    \n+
    ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display)
    \n

    Source\n Code

    \n

    Detaches the menu associated with the display and returns it. The\n menu can then be used on a different display.

    \n

    If you simply want to destroy the active menu, you can call al_set_display_menu\n@@ -1261,12 +1205,12 @@\n

    Examples:

    \n
      \n
    • ex_menu.c
    • \n
    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:58 UTC\n+ - Last updated: 2024-01-07 09:01:16 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -92,30 +92,27 @@\n o al_popup_menu\n o al_remove_display_menu\n These functions are declared in the following header file. Link with\n allegro_dialog.\n #include \n ****** ALLEGRO_FILECHOOSER ******\n typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER;\n-typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER;\n Source_Code\n Opaque handle to a native file dialog.\n Examples:\n * ex_native_filechooser.c\n ****** ALLEGRO_TEXTLOG ******\n typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG;\n-typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG;\n Source_Code\n Opaque handle to a text log window.\n Examples:\n * common.c\n * ex_native_filechooser.c\n ****** al_init_native_dialog_addon ******\n bool al_init_native_dialog_addon(void)\n-bool al_init_native_dialog_addon(void)\n Source_Code\n Initialise the native dialog addon.\n Returns true on success, false on error.\n Since: 5.0.9, 5.1.0\n Note: Prior to Allegro 5.1.0 native dialog functions could be called\n without explicit initialisation, but that is now deprecated. Future\n functionality may require explicit initialisation. An exception is\n@@ -124,37 +121,30 @@\n See also: al_shutdown_native_dialog_addon\n Examples:\n * common.c\n * ex_window_maximized.c\n * ex_menu.c\n ****** al_is_native_dialog_addon_initialized ******\n bool al_is_native_dialog_addon_initialized(void)\n-bool al_is_native_dialog_addon_initialized(void)\n Source_Code\n Returns true if the native dialog addon is initialized, otherwise returns\n false.\n Since: 5.2.6\n ****** al_shutdown_native_dialog_addon ******\n void al_shutdown_native_dialog_addon(void)\n-void al_shutdown_native_dialog_addon(void)\n Source_Code\n Shut down the native dialog addon.\n Since: 5.0.9, 5.1.5\n See also: al_init_native_dialog_addon\n ****** al_create_native_file_dialog ******\n ALLEGRO_FILECHOOSER *al_create_native_file_dialog(\n char const *initial_path,\n char const *title,\n char const *patterns,\n int mode)\n-ALLEGRO_FILECHOOSER *al_create_native_file_dialog(\n- char const *initial_path,\n- char const *title,\n- char const *patterns,\n- int mode)\n Source_Code\n Creates a new native file dialog. You should only have one such dialog opened\n at a time.\n Parameters:\n * initial_path: The initial search path and filename. Can be NULL. To start\n with a blank file name the string should end with a directory separator\n (this should be the common case).\n@@ -189,55 +179,46 @@\n are done, call al_destroy_native_file_dialog on it.\n If a dialog window could not be created then this function returns NULL.\n Examples:\n * ex_native_filechooser.c\n ****** al_show_native_file_dialog ******\n bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display,\n ALLEGRO_FILECHOOSER *dialog)\n-bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display,\n- ALLEGRO_FILECHOOSER *dialog)\n Source_Code\n Show the dialog window. The display may be NULL, otherwise the given display is\n treated as the parent if possible.\n This function blocks the calling thread until it returns, so you may want to\n spawn a thread with al_create_thread and call it from inside that thread.\n Returns true on success, false on failure.\n Examples:\n * ex_native_filechooser.c\n ****** al_get_native_file_dialog_count ******\n int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog)\n-int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog)\n Source_Code\n Returns the number of files selected, or 0 if the dialog was cancelled.\n Examples:\n * ex_native_filechooser.c\n ****** al_get_native_file_dialog_path ******\n const char *al_get_native_file_dialog_path(\n const ALLEGRO_FILECHOOSER *dialog, size_t i)\n-const char *al_get_native_file_dialog_path(\n- const ALLEGRO_FILECHOOSER *dialog, size_t i)\n Source_Code\n Returns one of the selected paths with index i. The index should range from 0\n to the return value of al_get_native_file_dialog_count -1.\n Examples:\n * ex_native_filechooser.c\n ****** al_destroy_native_file_dialog ******\n void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog)\n-void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog)\n Source_Code\n Frees up all resources used by the file dialog.\n Examples:\n * ex_native_filechooser.c\n ****** al_show_native_message_box ******\n int al_show_native_message_box(ALLEGRO_DISPLAY *display,\n char const *title, char const *heading, char const *text,\n char const *buttons, int flags)\n-int al_show_native_message_box(ALLEGRO_DISPLAY *display,\n- char const *title, char const *heading, char const *text,\n- char const *buttons, int flags)\n Source_Code\n Show a native GUI message box. This can be used for example to display an error\n message if creation of an initial display fails. The display may be NULL,\n otherwise the given display is treated as the parent if possible.\n The message box will have a single \u00e2\u0080\u009cOK\u00e2\u0080\u009d button and use the style\n informative dialog boxes usually have on the native system. If the buttons\n parameter is not NULL, you can instead specify the button text in a string,\n@@ -282,15 +263,14 @@\n );\n Examples:\n * ex_nodisplay.c\n * common.c\n * ex_menu.c\n ****** al_open_native_text_log ******\n ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags)\n-ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags)\n Source_Code\n Opens a window to which you can append log messages with\n al_append_native_text_log. This can be useful for debugging if you don\u00e2\u0080\u0099t want\n to depend on a console being available.\n Use al_close_native_text_log to close the window again.\n The flags available are:\n ALLEGRO_TEXTLOG_NO_CLOSE\n@@ -303,56 +283,50 @@\n are not implemented on the platform.\n See also: al_append_native_text_log, al_close_native_text_log\n Examples:\n * common.c\n * ex_native_filechooser.c\n ****** al_close_native_text_log ******\n void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog)\n-void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog)\n Source_Code\n Closes a message log window opened with al_open_native_text_log earlier.\n Does nothing if passed NULL.\n See also: al_open_native_text_log\n Examples:\n * common.c\n * ex_native_filechooser.c\n ****** al_append_native_text_log ******\n void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog,\n char const *format, ...)\n-void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog,\n- char const *format, ...)\n Source_Code\n Appends a line of text to the message log window and scrolls to the bottom (if\n the line would not be visible otherwise). This works like printf. A line is\n continued until you add a newline character.\n If the window is NULL then this function will fall back to calling printf. This\n makes it convenient to support logging to a window or a terminal.\n Examples:\n * common.c\n * ex_native_filechooser.c\n ****** al_get_native_text_log_event_source ******\n ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source(\n ALLEGRO_TEXTLOG *textlog)\n-ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source(\n- ALLEGRO_TEXTLOG *textlog)\n Source_Code\n Get an event source for a text log window. The possible events are:\n ALLEGRO_EVENT_NATIVE_DIALOG_CLOSE\n The window was requested to be closed, either by pressing the close\n button or pressing Escape on the keyboard. The user.data1 field will hold\n a pointer to the ALLEGRO_TEXTLOG which generated the event. The\n user.data2 field will be 1 if the event was generated as a result of a\n key press; otherwise it will be zero.\n Examples:\n * common.c\n * ex_saw.c\n * ex_resample_test.c\n ****** al_get_allegro_native_dialog_version ******\n uint32_t al_get_allegro_native_dialog_version(void)\n-uint32_t al_get_allegro_native_dialog_version(void)\n Source_Code\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version.\n ****** Menus ******\n Menus are implemented on Windows, X and OS X. Menus on X are implemented with\n GTK, and have a special requirement: you must set the ALLEGRO_GTK_TOPLEVEL\n display flag prior to creating the display which will have menus attached.\n@@ -396,23 +370,21 @@\n }\n }\n Because there is no \u00e2\u0080\u009cDISPLAY_DESTROYED\u00e2\u0080\u009d event, you must call\n al_set_display_menu(display, NULL) before destroying any display with a menu\n attached, to avoid leaking resources.\n ***** ALLEGRO_MENU *****\n typedef struct ALLEGRO_MENU ALLEGRO_MENU;\n-typedef struct ALLEGRO_MENU ALLEGRO_MENU;\n Source_Code\n An opaque data type that represents a menu that contains menu items. Each of\n the menu items may optionally include a sub-menu.\n Examples:\n * ex_menu.c\n ***** ALLEGRO_MENU_INFO *****\n typedef struct ALLEGRO_MENU_INFO {\n-typedef struct ALLEGRO_MENU_INFO {\n Source_Code\n A structure that defines how to create a complete menu system. For standard\n menu items, the following format is used:\n { caption, id, flags, icon }\n For special items, these macros are helpful:\n ALLEGRO_START_OF_MENU(caption, id)\n ALLEGRO_MENU_SEPARATOR\n@@ -440,62 +412,55 @@\n If you prefer, you can build the menu without the structure by using\n al_create_menu and al_insert_menu_item.\n See also: al_build_menu\n Examples:\n * ex_menu.c\n ***** al_create_menu *****\n ALLEGRO_MENU *al_create_menu(void)\n-ALLEGRO_MENU *al_create_menu(void)\n Source_Code\n Creates a menu container that can hold menu items.\n Returns NULL on failure.\n Since: 5.1.0\n See also: al_create_popup_menu, al_build_menu\n ***** al_create_popup_menu *****\n ALLEGRO_MENU *al_create_popup_menu(void)\n-ALLEGRO_MENU *al_create_popup_menu(void)\n Source_Code\n Creates a menu container for popup menus. Only the root (outermost) menu should\n be created with this function. Sub menus of popups should be created with\n al_create_menu.\n Returns NULL on failure.\n Since: 5.1.0\n See also: al_create_menu, al_build_menu\n Examples:\n * ex_menu.c\n ***** al_build_menu *****\n ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info)\n-ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info)\n Source_Code\n Builds a menu based on the specifications of a sequence of ALLEGRO_MENU_INFO\n elements.\n Returns a pointer to the root ALLEGRO_MENU, or NULL on failure. To gain access\n to the other menus and items, you will need to search for them using\n al_find_menu_item.\n Since: 5.1.0\n See also: ALLEGRO_MENU_INFO, al_create_menu, al_create_popup_menu\n Examples:\n * ex_menu.c\n ***** al_append_menu_item *****\n int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id,\n int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n-int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id,\n- int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n Source_Code\n Appends a menu item to the end of the menu. See al_insert_menu_item for more\n information.\n Since: 5.1.0\n See also: al_insert_menu_item, al_remove_menu_item\n Examples:\n * ex_menu.c\n ***** al_insert_menu_item *****\n int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title,\n uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n-int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title,\n- uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n Source_Code\n Inserts a menu item at the spot specified. See the introductory text for a\n detailed explanation of how the pos parameter is interpreted.\n The parent menu can be a popup menu or a regular menu. To underline one\n character in the title, prefix it with an ampersand.\n The flags can be any combination of:\n ALLEGRO_MENU_ITEM_DISABLED\n@@ -511,201 +476,181 @@\n menu must have previously been created with al_create_menu, and not be\n associated with any other menu.\n Returns true on success.\n Since: 5.1.0\n See also: al_append_menu_item, al_remove_menu_item\n ***** al_remove_menu_item *****\n bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos)\n-bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos)\n Source_Code\n Removes the specified item from the menu and destroys it. If the item contains\n a sub-menu, it too is destroyed. Any references to it are invalidated. If you\n want to preserve that sub-menu, you should first make a copy with\n al_clone_menu.\n This is safe to call on a menu that is currently being displayed.\n Returns true if an item was removed.\n Since: 5.1.0\n See also: al_append_menu_item, al_insert_menu_item, al_destroy_menu\n Examples:\n * ex_menu.c\n ***** al_clone_menu *****\n ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu)\n-ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu)\n Source_Code\n Makes a copy of a menu so that it can be reused on another display. The menu\n being cloned can be anything: a regular menu, a popup menu, or a sub-menu.\n Returns the cloned menu.\n Since: 5.1.0\n See also: al_clone_menu_for_popup\n Examples:\n * ex_menu.c\n ***** al_clone_menu_for_popup *****\n ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu)\n-ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu)\n Source_Code\n Exactly like al_clone_menu, except that the copy is for a popup menu.\n Since: 5.1.0\n See also: al_clone_menu\n Examples:\n * ex_menu.c\n ***** al_destroy_menu *****\n void al_destroy_menu(ALLEGRO_MENU *menu)\n-void al_destroy_menu(ALLEGRO_MENU *menu)\n Source_Code\n Destroys an entire menu, including its sub-menus. Any references to it or a\n sub-menu are no longer valid. It is safe to call this on a menu that is\n currently being displayed.\n Since: 5.1.0\n See also: al_remove_menu_item\n Examples:\n * ex_menu.c\n ***** al_get_menu_item_caption *****\n const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos)\n-const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos)\n Source_Code\n Returns the caption associated with the menu item. It is valid as long as the\n caption is not modified.\n Returns NULL if the item was not found.\n Since: 5.1.0\n See also: al_set_menu_item_caption\n ***** al_set_menu_item_caption *****\n void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption)\n-void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption)\n Source_Code\n Updates the menu item caption with the new caption. This will invalidate any\n previous calls to al_get_menu_item_caption.\n Since: 5.1.0\n See also: al_get_menu_item_caption\n Examples:\n * ex_menu.c\n ***** al_get_menu_item_flags *****\n int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos)\n-int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos)\n Source_Code\n Returns the currently set flags. See al_insert_menu_item for a description of\n the available flags.\n Returns -1 if the item was not found.\n Since: 5.1.0\n See also: al_set_menu_item_flags, al_toggle_menu_item_flags\n Examples:\n * ex_menu.c\n ***** al_set_menu_item_flags *****\n void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)\n-void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)\n Source_Code\n Updates the menu item\u00e2\u0080\u0099s flags. See al_insert_menu_item for a description of\n the available flags.\n Since: 5.1.0\n See also: al_get_menu_item_flags, al_toggle_menu_item_flags\n Examples:\n * ex_menu.c\n ***** al_toggle_menu_item_flags *****\n int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)\n-int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)\n Source_Code\n Toggles the specified menu item\u00e2\u0080\u0099s flags. See al_insert_menu_item for a\n description of the available flags.\n Returns a bitfield of only the specified flags that are set after the toggle. A\n flag that was not toggled will not be returned, even if it is set. Returns -\n 1 if the id is invalid.\n Since: 5.1.0\n Unstable_API: Redundant with al_get/set_menu_item_flags.\n See also: al_get_menu_item_flags, al_set_menu_item_flags\n ***** al_get_menu_item_icon *****\n ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos)\n-ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos)\n Source_Code\n Returns the icon associated with the menu. It is safe to draw to the returned\n bitmap, but you must call al_set_menu_item_icon in order for the changes to be\n applied.\n Returns NULL if the item was not found or if it has no icon.\n Since: 5.1.0\n See also: al_set_menu_item_icon\n ***** al_set_menu_item_icon *****\n void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon)\n-void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon)\n Source_Code\n Sets the icon for the specified menu item. The menu assumes ownership of the\n ALLEGRO_BITMAP and may invalidate the pointer, so you must clone it if you wish\n to continue using it.\n If a video bitmap is passed, it will automatically be converted to a memory\n bitmap, so it is preferable to pass a memory bitmap.\n Since: 5.1.0\n See also: al_get_menu_item_icon, al_clone_bitmap\n Examples:\n * ex_menu.c\n ***** al_find_menu *****\n ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id)\n-ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id)\n Source_Code\n Searches in the haystack menu for any submenu with the given id. (Note that\n this only represents a literal ID, and cannot be used as an index.)\n Returns the menu, if found. Otherwise returns NULL.\n Since: 5.1.0\n See also: al_find_menu_item\n Examples:\n * ex_menu.c\n ***** al_find_menu_item *****\n bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU\n **menu,\n int *index)\n-bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU\n-**menu,\n- int *index)\n Source_Code\n Searches in the haystack menu for an item with the given id. (Note that this\n only represents a literal ID, and cannot be used as an index.)\n If menu and index are not NULL, they will be set as the parent menu containing\n the item and the zero-based (positive) index of the item. (If the menu item was\n not found, then their values are undefined.)\n Returns true if the menu item was found.\n Since: 5.1.0\n See also: al_find_menu\n ***** al_get_default_menu_event_source *****\n ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void)\n-ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void)\n Source_Code\n Returns the default event source used for menu clicks. If a menu was not given\n its own event source via al_enable_menu_event_source, then it will use this\n default source.\n Since: 5.1.0\n See also: al_register_event_source, al_enable_menu_event_source,\n al_disable_menu_event_source\n Examples:\n * ex_menu.c\n ***** al_enable_menu_event_source *****\n ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu)\n-ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu)\n Source_Code\n Enables a unique event source for this menu. It and all of its sub-menus will\n use this event source. (It is safe to call this multiple times on the same\n menu.)\n Returns the event source.\n Since: 5.1.0\n See also: al_register_event_source, al_get_default_menu_event_source,\n al_disable_menu_event_source\n ***** al_disable_menu_event_source *****\n void al_disable_menu_event_source(ALLEGRO_MENU *menu)\n-void al_disable_menu_event_source(ALLEGRO_MENU *menu)\n Source_Code\n Disables a unique event source for the menu, causing it to use the default\n event source.\n Since: 5.1.0\n See also: al_get_default_menu_event_source, al_enable_menu_event_source\n ***** al_get_display_menu *****\n ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *display)\n-ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *display)\n Source_Code\n Returns the menu associated with the display, or NULL if it does not have a\n menu.\n Since: 5.1.0\n See also: al_set_display_menu\n ***** al_set_display_menu *****\n bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu)\n-bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu)\n Source_Code\n Associates the menu with the display and shows it. If there was a previous menu\n associated with the display, it will be destroyed. If you don\u00e2\u0080\u0099t want that to\n happen, you should first remove the menu with al_remove_display_menu.\n If the menu is already attached to a display, it will not be attached to the\n new display. If menu is NULL, the current menu will still be destroyed.\n Note: Attaching a menu may cause the window as available to your\n@@ -715,15 +660,14 @@\n Returns true if successful.\n Since: 5.1.0\n See also: al_create_menu, al_remove_display_menu\n Examples:\n * ex_menu.c\n ***** al_popup_menu *****\n bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display)\n-bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display)\n Source_Code\n Displays a context menu next to the mouse cursor. The menu must have been\n created with al_create_popup_menu. It generates events just like a regular\n display menu does. It is possible that the menu will be canceled without any\n selection being made.\n The display parameter indicates which window the menu is associated with (when\n you process the menu click event), but does not actually affect where the menu\n@@ -735,18 +679,17 @@\n corresponds to the final mouse button that was pressed.\n Since: 5.1.0\n See also: al_create_popup_menu\n Examples:\n * ex_menu.c\n ***** al_remove_display_menu *****\n ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display)\n-ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display)\n Source_Code\n Detaches the menu associated with the display and returns it. The menu can then\n be used on a different display.\n If you simply want to destroy the active menu, you can call al_set_display_menu\n with a NULL menu.\n Since: 5.1.0\n See also: al_set_display_menu\n Examples:\n * ex_menu.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:58 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:16 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/opengl.html", "source2": "./usr/share/doc/allegro5-doc/refman/opengl.html", "unified_diff": "@@ -417,12 +417,12 @@\n GL_ARB_texture_non_power_of_two=0\n GL_EXT_framebuffer_object=0\n

    Any extension which appears in the section is treated as not\n available (it does not matter if you set it to 0 or any other\n value).

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:58 UTC\n+ - Last updated: 2024-01-07 09:01:15 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -214,8 +214,8 @@\n You can disable the detection of any OpenGL extension by Allegro with a section\n like this in allegro5.cfg:\n [opengl_disabled_extensions]\n GL_ARB_texture_non_power_of_two=0\n GL_EXT_framebuffer_object=0\n Any extension which appears in the section is treated as not available (it does\n not matter if you set it to 0 or any other value).\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:58 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:15 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/path.html", "source2": "./usr/share/doc/allegro5-doc/refman/path.html", "unified_diff": "@@ -625,12 +625,12 @@\n
  • ex_path.c
  • \n
  • ex_path_test.c
  • \n \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:56 UTC\n+ - Last updated: 2024-01-07 09:01:13 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -323,8 +323,8 @@\n Note that this does not collapse \u00e2\u0080\u009cx/../y\u00e2\u0080\u009d sections into \u00e2\u0080\u009cy\u00e2\u0080\u009d. This is by\n design. If \u00e2\u0080\u009c/foo\u00e2\u0080\u009d on your system is a symlink to \u00e2\u0080\u009c/bar/baz\u00e2\u0080\u009d, then \u00e2\u0080\u009c/\n foo/../quux\u00e2\u0080\u009d is actually \u00e2\u0080\u009c/bar/quux\u00e2\u0080\u009d, not \u00e2\u0080\u009c/quux\u00e2\u0080\u009d as a naive removal\n of \u00e2\u0080\u009c..\u00e2\u0080\u009d components would give you.\n Examples:\n * ex_path.c\n * ex_path_test.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:56 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:13 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/physfs.html", "source2": "./usr/share/doc/allegro5-doc/refman/physfs.html", "unified_diff": "@@ -182,16 +182,15 @@\n href=\"physfs.html#al_set_physfs_file_interface\">al_set_physfs_file_interface,\n then al_fopen or another function that\n calls al_fopen.

    \n

    These functions are declared in the following header file. Link with\n allegro_physfs.

    \n
     #include <allegro5/allegro_physfs.h>
    \n

    al_set_physfs_file_interface

    \n-
    void al_set_physfs_file_interface(void)\n-void al_set_physfs_file_interface(void)
    \n+
    void al_set_physfs_file_interface(void)
    \n

    Source\n Code

    \n

    This function sets both the ALLEGRO_FILE_INTERFACE and\n ALLEGRO_FS_INTERFACE for\n the calling thread.

    \n@@ -223,21 +222,20 @@\n

    Examples:

    \n
      \n
    • ex_physfs.c
    • \n
    \n al_get_allegro_physfs_version\n-
    uint32_t al_get_allegro_physfs_version(void)\n-uint32_t al_get_allegro_physfs_version(void)
    \n+
    uint32_t al_get_allegro_physfs_version(void)
    \n

    Source\n Code

    \n

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:59 UTC\n+ - Last updated: 2024-01-07 09:01:16 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -58,15 +58,14 @@\n ALLEGRO_FILE using PhysicsFS, first call al_set_physfs_file_interface, then\n al_fopen or another function that calls al_fopen.\n These functions are declared in the following header file. Link with\n allegro_physfs.\n #include \n ****** al_set_physfs_file_interface ******\n void al_set_physfs_file_interface(void)\n-void al_set_physfs_file_interface(void)\n Source_Code\n This function sets both the ALLEGRO_FILE_INTERFACE and ALLEGRO_FS_INTERFACE for\n the calling thread.\n Subsequent calls to al_fopen on the calling thread will be handled by\n PHYSFS_open(). Operations on the files returned by al_fopen will then be\n performed through PhysicsFS. Calls to the Allegro filesystem functions, such as\n al_read_directory or al_create_fs_entry, on the calling thread will be diverted\n@@ -79,12 +78,11 @@\n Note: PhysFS does not support the text-mode reading and writing,\n which means that Windows-style newlines will not be preserved.\n See also: al_set_new_file_interface.\n Examples:\n * ex_physfs.c\n ****** al_get_allegro_physfs_version ******\n uint32_t al_get_allegro_physfs_version(void)\n-uint32_t al_get_allegro_physfs_version(void)\n Source_Code\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version.\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:59 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:16 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/platform.html", "source2": "./usr/share/doc/allegro5-doc/refman/platform.html", "unified_diff": "@@ -412,12 +412,12 @@\n

    Examples:

    \n
      \n
    • ex_icon2.c
    • \n
    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:57 UTC\n+ - Last updated: 2024-01-07 09:01:14 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -203,8 +203,8 @@\n doesn\u00e2\u0080\u0099t work and you need to use a .desktop file. But with this function you\n can set an icon before calling al_create_display. This works by setting the\n icon before XMapWindow.\n Since: 5.2.3\n Unstable_API: New API.\n Examples:\n * ex_icon2.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:57 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:14 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/primitives.html", "source2": "./usr/share/doc/allegro5-doc/refman/primitives.html", "unified_diff": "@@ -268,24 +268,22 @@\n \n

    These functions are declared in the following header file. Link with\n allegro_primitives.

    \n
     #include <allegro5/allegro_primitives.h>
    \n

    General

    \n al_get_allegro_primitives_version\n-
    uint32_t al_get_allegro_primitives_version(void)\n-uint32_t al_get_allegro_primitives_version(void)
    \n+
    uint32_t al_get_allegro_primitives_version(void)
    \n

    Source\n Code

    \n

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    \n

    al_init_primitives_addon

    \n-
    bool al_init_primitives_addon(void)\n-bool al_init_primitives_addon(void)
    \n+
    bool al_init_primitives_addon(void)
    \n

    Source\n Code

    \n

    Initializes the primitives addon.

    \n

    Returns: True on success, false on failure.

    \n

    See also: al_shutdown_primitives_addon

    \n@@ -296,29 +294,27 @@\n
  • ex_blend_bench.c
  • \n
  • ex_enet_client.c
  • \n \n al_is_primitives_addon_initialized\n-
    bool al_is_primitives_addon_initialized(void)\n-bool al_is_primitives_addon_initialized(void)
    \n+
    bool al_is_primitives_addon_initialized(void)
    \n

    Source\n Code

    \n

    Returns true if the primitives addon is initialized, otherwise\n returns false.

    \n

    Since: 5.2.6

    \n

    See also: al_init_primitives_addon,\n al_shutdown_primitives_addon

    \n

    al_shutdown_primitives_addon

    \n-
    void al_shutdown_primitives_addon(void)\n-void al_shutdown_primitives_addon(void)
    \n+
    void al_shutdown_primitives_addon(void)
    \n

    Source\n Code

    \n

    Shut down the primitives addon. This is done automatically at program\n exit, but can be called any time the user wishes as well.

    \n

    See also: al_init_primitives_addon

    \n@@ -413,17 +409,15 @@\n completely covered by a shape or completely not covered, then the shape\n edges will be sharp. The offsets used in the second diagram were chosen\n so that this is the case: if you use those offsets, your shapes (if they\n are oriented the same way as they are on the diagram) should look the\n same whether multisampling is turned on or off.

    \n

    al_draw_line

    \n
    void al_draw_line(float x1, float y1, float x2, float y2,\n-   ALLEGRO_COLOR color, float thickness)\n-void al_draw_line(float x1, float y1, float x2, float y2,\n-   ALLEGRO_COLOR color, float thickness)
    \n+ ALLEGRO_COLOR color, float thickness)\n

    Source\n Code

    \n

    Draws a line segment between two points.

    \n

    Parameters:

    \n
      \n
    • x1, y1, x2, y2 - Start and end points of the line
    • \n@@ -440,17 +434,15 @@\n
    • ex_resize.c
    • \n
    • ex_mouse_warp.c
    • \n
    \n

    al_draw_triangle

    \n
    void al_draw_triangle(float x1, float y1, float x2, float y2,\n-   float x3, float y3, ALLEGRO_COLOR color, float thickness)\n-void al_draw_triangle(float x1, float y1, float x2, float y2,\n-   float x3, float y3, ALLEGRO_COLOR color, float thickness)
    \n+ float x3, float y3, ALLEGRO_COLOR color, float thickness)\n

    Source\n Code

    \n

    Draws an outlined triangle.

    \n

    Parameters:

    \n
      \n
    • x1, y1, x2, y2, x3, y3 - Three points of the triangle
    • \n@@ -465,17 +457,15 @@\n

      Examples:

      \n
        \n
      • ex_prim.c
      • \n
      \n

      al_draw_filled_triangle

      \n
      void al_draw_filled_triangle(float x1, float y1, float x2, float y2,\n-   float x3, float y3, ALLEGRO_COLOR color)\n-void al_draw_filled_triangle(float x1, float y1, float x2, float y2,\n-   float x3, float y3, ALLEGRO_COLOR color)
      \n+ float x3, float y3, ALLEGRO_COLOR color)\n

      Source\n Code

      \n

      Draws a filled triangle.

      \n

      Parameters:

      \n
        \n
      • x1, y1, x2, y2, x3, y3 - Three points of the triangle
      • \n@@ -486,17 +476,15 @@\n

        Examples:

        \n
          \n
        • ex_prim.c
        • \n
        \n

        al_draw_rectangle

        \n
        void al_draw_rectangle(float x1, float y1, float x2, float y2,\n-   ALLEGRO_COLOR color, float thickness)\n-void al_draw_rectangle(float x1, float y1, float x2, float y2,\n-   ALLEGRO_COLOR color, float thickness)
        \n+ ALLEGRO_COLOR color, float thickness)\n

        Source\n Code

        \n

        Draws an outlined rectangle.

        \n

        Parameters:

        \n
          \n
        • x1, y1, x2, y2 - Upper left and lower right points of the\n@@ -516,17 +504,15 @@\n
        • ex_font_justify.cpp
        • \n
        • ex_subbitmap.c
        • \n
        \n

        al_draw_filled_rectangle

        \n
        void al_draw_filled_rectangle(float x1, float y1, float x2, float y2,\n-   ALLEGRO_COLOR color)\n-void al_draw_filled_rectangle(float x1, float y1, float x2, float y2,\n-   ALLEGRO_COLOR color)
        \n+ ALLEGRO_COLOR color)\n

        Source\n Code

        \n

        Draws a filled rectangle.

        \n

        Parameters:

        \n
          \n
        • x1, y1, x2, y2 - Upper left and lower right points of the\n@@ -543,17 +529,15 @@\n
        • ex_timer.c
        • \n
        • ex_window_maximized.c
        • \n
        \n

        al_draw_rounded_rectangle

        \n
        void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2,\n-   float rx, float ry, ALLEGRO_COLOR color, float thickness)\n-void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2,\n-   float rx, float ry, ALLEGRO_COLOR color, float thickness)
        \n+ float rx, float ry, ALLEGRO_COLOR color, float thickness)\n

        Source\n Code

        \n

        Draws an outlined rounded rectangle.

        \n

        Parameters:

        \n
          \n
        • x1, y1, x2, y2 - Upper left and lower right points of the\n@@ -574,17 +558,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_prim.c#L323\">ex_prim.c
        • \n
        • ex_audio_chain.cpp
        • \n
        \n al_draw_filled_rounded_rectangle\n
        void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2,\n-   float rx, float ry, ALLEGRO_COLOR color)\n-void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2,\n-   float rx, float ry, ALLEGRO_COLOR color)
        \n+ float rx, float ry, ALLEGRO_COLOR color)\n

        Source\n Code

        \n

        Draws an filled rounded rectangle.

        \n

        Parameters:

        \n
          \n
        • x1, y1, x2, y2 - Upper left and lower right points of the\n@@ -604,18 +586,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_video.c#L57\">ex_video.c
        • \n
        • ex_prim.c
        • \n
        \n

        al_calculate_arc

        \n
        void al_calculate_arc(float* dest, int stride, float cx, float cy,\n    float rx, float ry, float start_theta, float delta_theta, float thickness,\n-   int num_points)\n-void al_calculate_arc(float* dest, int stride, float cx, float cy,\n-   float rx, float ry, float start_theta, float delta_theta, float thickness,\n-   int num_points)
        \n+ int num_points)\n

        Source\n Code

        \n

        When thickness <= 0 this function computes positions\n of num_points regularly spaced points on an elliptical arc.\n When thickness > 0 this function computes two sets of\n points, obtained as follows: the first set is obtained by taking the\n@@ -679,17 +658,15 @@\n

        Examples:

        \n
          \n
        • ex_vertex_buffer.c
        • \n
        \n

        al_draw_pieslice

        \n
        void al_draw_pieslice(float cx, float cy, float r, float start_theta,\n-   float delta_theta, ALLEGRO_COLOR color, float thickness)\n-void al_draw_pieslice(float cx, float cy, float r, float start_theta,\n-   float delta_theta, ALLEGRO_COLOR color, float thickness)
        \n+ float delta_theta, ALLEGRO_COLOR color, float thickness)\n

        Source\n Code

        \n

        Draws a pieslice (outlined circular sector).

        \n

        Parameters:

        \n
          \n
        • cx, cy - Center of the pieslice
        • \n@@ -708,17 +685,15 @@\n

          Examples:

          \n
            \n
          • ex_prim.c
          • \n
          \n

          al_draw_filled_pieslice

          \n
          void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta,\n-   float delta_theta, ALLEGRO_COLOR color)\n-void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta,\n-   float delta_theta, ALLEGRO_COLOR color)
          \n+ float delta_theta, ALLEGRO_COLOR color)\n

          Source\n Code

          \n

          Draws a filled pieslice (filled circular sector).

          \n

          Parameters:

          \n
            \n
          • cx, cy - Center of the pieslice
          • \n@@ -735,17 +710,15 @@\n

            Examples:

            \n
              \n
            • ex_prim.c
            • \n
            \n

            al_draw_ellipse

            \n
            void al_draw_ellipse(float cx, float cy, float rx, float ry,\n-   ALLEGRO_COLOR color, float thickness)\n-void al_draw_ellipse(float cx, float cy, float rx, float ry,\n-   ALLEGRO_COLOR color, float thickness)
            \n+ ALLEGRO_COLOR color, float thickness)\n

            Source\n Code

            \n

            Draws an outlined ellipse.

            \n

            Parameters:

            \n
              \n
            • cx, cy - Center of the ellipse
            • \n@@ -762,17 +735,15 @@\n
            • ex_draw.c
            • \n
            • ex_prim.c
            • \n
            \n

            al_draw_filled_ellipse

            \n
            void al_draw_filled_ellipse(float cx, float cy, float rx, float ry,\n-   ALLEGRO_COLOR color)\n-void al_draw_filled_ellipse(float cx, float cy, float rx, float ry,\n-   ALLEGRO_COLOR color)
            \n+ ALLEGRO_COLOR color)\n

            Source\n Code

            \n

            Draws a filled ellipse.

            \n

            Parameters:

            \n
              \n
            • cx, cy - Center of the ellipse
            • \n@@ -787,17 +758,15 @@\n
            • ex_draw.c
            • \n
            • ex_prim.c
            • \n
            \n

            al_draw_circle

            \n
            void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color,\n-   float thickness)\n-void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color,\n-   float thickness)
            \n+ float thickness)\n

            Source\n Code

            \n

            Draws an outlined circle.

            \n

            Parameters:

            \n
              \n
            • cx, cy - Center of the circle
            • \n@@ -813,16 +782,15 @@\n
                \n
              • ex_touch_input.c
              • \n
              • ex_transform.c
              • \n
              \n

              al_draw_filled_circle

              \n-
              void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color)\n-void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color)
              \n+
              void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color)
              \n

              Source\n Code

              \n

              Draws a filled circle.

              \n

              Parameters:

              \n
                \n
              • cx, cy - Center of the circle
              • \n@@ -839,17 +807,15 @@\n
              • ex_joystick_hotplugging.c
              • \n
              • ex_blend2.cpp
              • \n
              \n

              al_draw_arc

              \n
              void al_draw_arc(float cx, float cy, float r, float start_theta,\n-   float delta_theta, ALLEGRO_COLOR color, float thickness)\n-void al_draw_arc(float cx, float cy, float r, float start_theta,\n-   float delta_theta, ALLEGRO_COLOR color, float thickness)
              \n+ float delta_theta, ALLEGRO_COLOR color, float thickness)\n

              Source\n Code

              \n

              Draws an arc.

              \n

              Parameters:

              \n
                \n
              • cx, cy - Center of the arc
              • \n@@ -868,17 +834,15 @@\n

                Examples:

                \n
                  \n
                • ex_prim.c
                • \n
                \n

                al_draw_elliptical_arc

                \n
                void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float start_theta,\n-   float delta_theta, ALLEGRO_COLOR color, float thickness)\n-void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float start_theta,\n-   float delta_theta, ALLEGRO_COLOR color, float thickness)
                \n+ float delta_theta, ALLEGRO_COLOR color, float thickness)\n

                Source\n Code

                \n

                Draws an elliptical arc.

                \n

                Parameters:

                \n
                  \n
                • cx, cy - Center of the arc
                • \n@@ -898,17 +862,15 @@\n

                  Examples:

                  \n
                    \n
                  • ex_prim.c
                  • \n
                  \n

                  al_calculate_spline

                  \n
                  void al_calculate_spline(float* dest, int stride, float points[8],\n-   float thickness, int num_segments)\n-void al_calculate_spline(float* dest, int stride, float points[8],\n-   float thickness, int num_segments)
                  \n+ float thickness, int num_segments)\n

                  Source\n Code

                  \n

                  Calculates a B\u00e9zier spline given 4 control points. If\n thickness <= 0, then num_segments of points\n are required in the destination, otherwise twice as many are needed. The\n destination buffer should consist of regularly spaced (by distance of\n@@ -925,16 +887,15 @@\n

                • num_segments - The number of points to calculate
                • \n
                \n

                See also: al_draw_spline, al_calculate_arc, al_calculate_ribbon

                \n

                al_draw_spline

                \n-
                void al_draw_spline(float points[8], ALLEGRO_COLOR color, float thickness)\n-void al_draw_spline(float points[8], ALLEGRO_COLOR color, float thickness)
                \n+
                void al_draw_spline(float points[8], ALLEGRO_COLOR color, float thickness)
                \n

                Source\n Code

                \n

                Draws a B\u00e9zier spline given 4 control points.

                \n

                Parameters:

                \n
                  \n
                • points - An array of 4 pairs of coordinates of the 4 control\n@@ -948,17 +909,15 @@\n

                  Examples:

                  \n
                    \n
                  • ex_prim.c
                  • \n
                  \n

                  al_calculate_ribbon

                  \n
                  void al_calculate_ribbon(float* dest, int dest_stride, const float *points,\n-   int points_stride, float thickness, int num_segments)\n-void al_calculate_ribbon(float* dest, int dest_stride, const float *points,\n-   int points_stride, float thickness, int num_segments)
                  \n+ int points_stride, float thickness, int num_segments)\n

                  Source\n Code

                  \n

                  Calculates a ribbon given an array of points. The ribbon will go\n through all of the passed points. If thickness <= 0,\n then num_segments of points are required in the destination\n buffer, otherwise twice as many are needed. The destination and the\n@@ -977,17 +936,15 @@\n

                \n

                See also: al_draw_ribbon, al_calculate_arc, al_calculate_spline

                \n

                al_draw_ribbon

                \n
                void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR color,\n-   float thickness, int num_segments)\n-void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR color,\n-   float thickness, int num_segments)
                \n+ float thickness, int num_segments)\n

                Source\n Code

                \n

                Draws a ribbon given an array of points. The ribbon will go through\n all of the passed points. The points buffer should consist of regularly\n spaced doublets of floats, corresponding to x and y coordinates of the\n vertices.

                \n@@ -1026,17 +983,15 @@\n pass to the al_draw_prim by (0.5, 0.5) if you need precise pixel\n control. E.g. to refer to pixel (5, 10) you\u2019d set the u and v to 5.5 and\n 10.5 respectively.

                \n

                See also: Pixel-precise output

                \n

                al_draw_prim

                \n
                int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n-   ALLEGRO_BITMAP* texture, int start, int end, int type)\n-int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n-   ALLEGRO_BITMAP* texture, int start, int end, int type)
                \n+ ALLEGRO_BITMAP* texture, int start, int end, int type)\n

                Source\n Code

                \n

                Draws a subset of the passed vertex array.

                \n

                Parameters:

                \n
                  \n
                • texture - Texture to use, pass NULL to use only color shaded\n@@ -1073,17 +1028,15 @@\n
                • ex_vertex_buffer.c
                • \n
                • ex_camera.c
                • \n
                \n

                al_draw_indexed_prim

                \n
                int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n-   ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type)\n-int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n-   ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type)
                \n+ ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type)\n

                Source\n Code

                \n

                Draws a subset of the passed vertex array. This function uses an\n index array to specify which vertices to use.

                \n

                Parameters:

                \n
                  \n@@ -1110,17 +1063,15 @@\n
                • ex_projection2.c
                • \n
                • ex_prim.c
                • \n
                \n

                al_draw_vertex_buffer

                \n
                int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n-   ALLEGRO_BITMAP* texture, int start, int end, int type)\n-int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n-   ALLEGRO_BITMAP* texture, int start, int end, int type)
                \n+ ALLEGRO_BITMAP* texture, int start, int end, int type)\n

                Source\n Code

                \n

                Draws a subset of the passed vertex buffer. The vertex buffer must\n not be locked. Additionally, to draw onto memory bitmaps or with memory\n bitmap textures the vertex buffer must support reading (i.e.\u00a0 it must be\n created with the ALLEGRO_PRIM_BUFFER_READWRITE).

                \n@@ -1147,18 +1098,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_vertex_buffer.c#L58\">ex_vertex_buffer.c\n
              • ex_prim.c
              • \n
              \n

              al_draw_indexed_buffer

              \n
              int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n    ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer,\n-   int start, int end, int type)\n-int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n-   ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer,\n-   int start, int end, int type)
              \n+ int start, int end, int type)\n

              Source\n Code

              \n

              Draws a subset of the passed vertex buffer. This function uses an\n index buffer to specify which vertices to use. Both buffers must not be\n locked. Additionally, to draw onto memory bitmaps or with memory bitmap\n textures both buffers must support reading (i.e.\u00a0they must be created\n@@ -1191,21 +1139,15 @@\n

            \n

            al_draw_soft_triangle

            \n
            void al_draw_soft_triangle(\n    ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state,\n    void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n    void (*first)(uintptr_t, int, int, int, int),\n    void (*step)(uintptr_t, int),\n-   void (*draw)(uintptr_t, int, int, int))\n-void al_draw_soft_triangle(\n-   ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state,\n-   void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n-   void (*first)(uintptr_t, int, int, int, int),\n-   void (*step)(uintptr_t, int),\n-   void (*draw)(uintptr_t, int, int, int))
            \n+ void (*draw)(uintptr_t, int, int, int))\n

            Source\n Code

            \n

            Draws a triangle using the software rasterizer and user supplied\n pixel functions. For help in understanding what these functions do, see\n the implementation of the various shading routines in\n addons/primitives/tri_soft.c. The triangle is drawn in two segments,\n@@ -1236,19 +1178,15 @@\n

          \n

          See also: al_draw_triangle

          \n

          al_draw_soft_line

          \n
          void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state,\n    void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n    void (*step)(uintptr_t, int),\n-   void (*draw)(uintptr_t, int, int))\n-void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state,\n-   void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n-   void (*step)(uintptr_t, int),\n-   void (*draw)(uintptr_t, int, int))
          \n+ void (*draw)(uintptr_t, int, int))\n

          Source\n Code

          \n

          Draws a line using the software rasterizer and user supplied pixel\n functions. For help in understanding what these functions do, see the\n implementation of the various shading routines in\n addons/primitives/line_soft.c. The line is drawn top to bottom.

          \n@@ -1268,16 +1206,15 @@\n
        • draw - Called once per pixel. The function is expected to draw the\n pixel at the coordinates passed to it.
        • \n
        \n

        See also: al_draw_line

        \n

        Custom vertex declaration\n routines

        \n

        al_create_vertex_decl

        \n-
        ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int stride)\n-ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int stride)
        \n+
        ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int stride)
        \n

        Source\n Code

        \n

        Creates a vertex declaration, which describes a custom vertex\n format.

        \n

        Parameters:

        \n
          \n@@ -1296,16 +1233,15 @@\n
            \n
          • ex_prim_shader.c
          • \n
          • ex_prim.c
          • \n
          \n

          al_destroy_vertex_decl

          \n-
          void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl)\n-void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl)
          \n+
          void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl)
          \n

          Source\n Code

          \n

          Destroys a vertex declaration.

          \n

          Parameters:

          \n
            \n
          • decl - Vertex declaration to destroy
          • \n@@ -1319,17 +1255,15 @@\n
              \n
            • ex_prim_shader.c
            • \n
            \n

            Vertex buffer routines

            \n

            al_create_vertex_buffer

            \n
            ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl,\n-   const void* initial_data, int num_vertices, int flags)\n-ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl,\n-   const void* initial_data, int num_vertices, int flags)
            \n+ const void* initial_data, int num_vertices, int flags)\n

            Source\n Code

            \n

            Creates a vertex buffer. Can return NULL if the buffer could not be\n created (e.g.\u00a0the system only supports write-only buffers).

            \n
            \n

            Note:

            \n@@ -1361,16 +1295,15 @@\n
              \n
            • ex_vertex_buffer.c
            • \n
            • ex_prim.c
            • \n
            \n

            al_destroy_vertex_buffer

            \n-
            void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)\n-void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)
            \n+
            void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)
            \n

            Source\n Code

            \n

            Destroys a vertex buffer. Does nothing if passed NULL.

            \n

            Since: 5.1.3

            \n

            See also: ALLEGRO_VERTEX_BUFFER,\n@@ -1381,17 +1314,15 @@\n

          • ex_vertex_buffer.c
          • \n
          • ex_prim.c
          • \n
          \n

          al_lock_vertex_buffer

          \n
          void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset,\n-   int length, int flags)\n-void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset,\n-   int length, int flags)
          \n+ int length, int flags)\n

          Source\n Code

          \n

          Locks a vertex buffer so you can access its data. Will return NULL if\n the parameters are invalid, if reading is requested from a write only\n buffer, or if the buffer is already locked.

          \n

          Parameters:

          \n@@ -1411,16 +1342,15 @@\n
            \n
          • ex_vertex_buffer.c
          • \n
          • ex_prim.c
          • \n
          \n

          al_unlock_vertex_buffer

          \n-
          void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)\n-void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)
          \n+
          void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)
          \n

          Source\n Code

          \n

          Unlocks a previously locked vertex buffer.

          \n

          Since: 5.1.3

          \n

          See also: ALLEGRO_VERTEX_BUFFER,\n@@ -1430,29 +1360,26 @@\n

            \n
          • ex_vertex_buffer.c
          • \n
          • ex_prim.c
          • \n
          \n

          al_get_vertex_buffer_size

          \n-
          int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer)\n-int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer)
          \n+
          int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer)
          \n

          Source\n Code

          \n

          Returns the size of the vertex buffer

          \n

          Since: 5.1.8

          \n

          See also: ALLEGRO_VERTEX_BUFFER

          \n

          Index buffer routines

          \n

          al_create_index_buffer

          \n
          ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size,\n-    const void* initial_data, int num_indices, int flags)\n-ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size,\n-    const void* initial_data, int num_indices, int flags)
          \n+ const void* initial_data, int num_indices, int flags)\n

          Source\n Code

          \n

          Creates a index buffer. Can return NULL if the buffer could not be\n created (e.g.\u00a0the system only supports write-only buffers).

          \n
          \n

          Note:

          \n@@ -1480,16 +1407,15 @@\n href=\"primitives.html#al_destroy_index_buffer\">al_destroy_index_buffer

          \n

          Examples:

          \n
            \n
          • ex_prim.c
          • \n
          \n

          al_destroy_index_buffer

          \n-
          void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)\n-void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)
          \n+
          void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)
          \n

          Source\n Code

          \n

          Destroys a index buffer. Does nothing if passed NULL.

          \n

          Since: 5.1.8

          \n

          See also: ALLEGRO_INDEX_BUFFER, Examples:

          \n
            \n
          • ex_prim.c
          • \n
          \n

          al_lock_index_buffer

          \n
          void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset,\n-    int length, int flags)\n-void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset,\n-    int length, int flags)
          \n+ int length, int flags)\n

          Source\n Code

          \n

          Locks a index buffer so you can access its data. Will return NULL if\n the parameters are invalid, if reading is requested from a write only\n buffer and if the buffer is already locked.

          \n

          Parameters:

          \n@@ -1524,47 +1448,42 @@\n href=\"primitives.html#al_unlock_index_buffer\">al_unlock_index_buffer

          \n

          Examples:

          \n
            \n
          • ex_prim.c
          • \n
          \n

          al_unlock_index_buffer

          \n-
          void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)\n-void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)
          \n+
          void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)
          \n

          Source\n Code

          \n

          Unlocks a previously locked index buffer.

          \n

          Since: 5.1.8

          \n

          See also: ALLEGRO_INDEX_BUFFER, al_lock_index_buffer

          \n

          Examples:

          \n
            \n
          • ex_prim.c
          • \n
          \n

          al_get_index_buffer_size

          \n-
          int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer)\n-int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer)
          \n+
          int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer)
          \n

          Source\n Code

          \n

          Returns the size of the index buffer

          \n

          Since: 5.1.8

          \n

          See also: ALLEGRO_INDEX_BUFFER

          \n

          Polygon routines

          \n

          al_draw_polyline

          \n
          void al_draw_polyline(const float* vertices, int vertex_stride,\n    int vertex_count, int join_style, int cap_style,\n-   ALLEGRO_COLOR color, float thickness, float miter_limit)\n-void al_draw_polyline(const float* vertices, int vertex_stride,\n-   int vertex_count, int join_style, int cap_style,\n-   ALLEGRO_COLOR color, float thickness, float miter_limit)
          \n+ ALLEGRO_COLOR color, float thickness, float miter_limit)\n

          Source\n Code

          \n

          Draw a series of line segments.

          \n
            \n
          • vertices - Interleaved array of (x, y) vertex coordinates
          • \n
          • vertex_stride - the number of bytes between pairs of vertices (the\n@@ -1605,17 +1524,15 @@\n

            Examples:

            \n
              \n
            • ex_polygon.c
            • \n
            \n

            al_draw_polygon

            \n
            void al_draw_polygon(const float *vertices, int vertex_count,\n-   int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit)\n-void al_draw_polygon(const float *vertices, int vertex_count,\n-   int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit)
            \n+ int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit)\n

            Source\n Code

            \n

            Draw an unfilled polygon. This is the same as passing\n ALLEGRO_LINE_CAP_CLOSED to al_draw_polyline.

            \n
              \n@@ -1637,17 +1554,15 @@\n

              Examples:

              \n
                \n
              • ex_polygon.c
              • \n
              \n

              al_draw_filled_polygon

              \n
              void al_draw_filled_polygon(const float *vertices, int vertex_count,\n-   ALLEGRO_COLOR color)\n-void al_draw_filled_polygon(const float *vertices, int vertex_count,\n-   ALLEGRO_COLOR color)
              \n+ ALLEGRO_COLOR color)\n

              Source\n Code

              \n

              Draw a filled, simple polygon. Simple means it does not have to be\n convex but must not be self-overlapping.

              \n
                \n
              • vertices - Interleaved array of (x, y) vertex coordinates
              • \n@@ -1664,19 +1579,17 @@\n
                  \n
                • ex_polygon.c
                • \n
                \n al_draw_filled_polygon_with_holes\n
                void al_draw_filled_polygon_with_holes(const float *vertices,\n-   const int *vertex_counts, ALLEGRO_COLOR color)\n-void al_draw_filled_polygon_with_holes(const float *vertices,\n-   const int *vertex_counts, ALLEGRO_COLOR color)
                \n+ const int *vertex_counts, ALLEGRO_COLOR color)\n

                Source\n+href=\"https://github.com/liballeg/allegro5/blob/master/addons/primitives/polygon.c#L71\">Source\n Code

                \n

                Draws a filled simple polygon with zero or more other simple polygons\n subtracted from it - the holes. The holes cannot touch or intersect with\n the outline of the filled polygon.

                \n
                  \n
                • vertices - Interleaved array of (x, y) vertex coordinates for each\n of the polygons, including holes.
                • \n@@ -1721,18 +1634,15 @@\n
                    \n
                  • ex_polygon.c
                  • \n
                  \n

                  al_triangulate_polygon

                  \n
                  bool al_triangulate_polygon(\n    const float* vertices, size_t vertex_stride, const int* vertex_counts,\n-   void (*emit_triangle)(int, int, int, void*), void* userdata)\n-bool al_triangulate_polygon(\n-   const float* vertices, size_t vertex_stride, const int* vertex_counts,\n-   void (*emit_triangle)(int, int, int, void*), void* userdata)
                  \n+ void (*emit_triangle)(int, int, int, void*), void* userdata)\n

                  Source\n Code

                  \n

                  Divides a simple polygon into triangles, with zero or more other\n simple polygons subtracted from it - the holes. The holes cannot touch\n or intersect with the outline of the main polygon. Simple means the\n polygon does not have to be convex but must not be self-overlapping.

                  \n@@ -1752,16 +1662,15 @@\n
                • userdata - arbitrary data to be passed to emit_triangle.
                • \n
                \n

                Since: 5.1.0

                \n

                See also: al_draw_filled_polygon_with_holes

                \n

                Structures and types

                \n

                ALLEGRO_VERTEX

                \n-
                typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX;\n-typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX;
                \n+
                typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX;
                \n

                Source\n Code

                \n

                Defines the generic vertex type, with a 3D position, color and\n texture coordinates for a single texture. Note that at this time, the\n software driver for this addon cannot render 3D primitives. If you want\n a 2D only primitive, set z to 0. Note that you must initialize all\n@@ -1783,16 +1692,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_shader.cpp#L97\">ex_shader.cpp\n

              • ex_shader_target.c
              • \n
              • ex_prim_shader.c
              • \n
              \n

              ALLEGRO_VERTEX_DECL

              \n-
              typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL;\n-typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL;
              \n+
              typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL;
              \n

              Source\n Code

              \n

              A vertex declaration. This opaque structure is responsible for\n describing the format and layout of a user defined custom vertex. It is\n created and destroyed by specialized functions.

              \n

              See also: \n

            • ex_prim_shader.c
            • \n
            • ex_prim.c
            • \n
            \n

            ALLEGRO_VERTEX_ELEMENT

            \n-
            typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;\n-typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;
            \n+
            typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;
            \n

            Source\n Code

            \n

            A small structure describing a certain element of a vertex. E.g. the\n position of the vertex, or its color. These structures are used by the\n al_create_vertex_decl\n@@ -1855,16 +1762,15 @@\n

              \n
            • ex_prim_shader.c
            • \n
            • ex_prim.c
            • \n
            \n

            ALLEGRO_PRIM_TYPE

            \n-
            typedef enum ALLEGRO_PRIM_TYPE\n-typedef enum ALLEGRO_PRIM_TYPE
            \n+
            typedef enum ALLEGRO_PRIM_TYPE
            \n

            Source\n Code

            \n

            Enumerates the types of primitives this addon can draw.

            \n
              \n
            • ALLEGRO_PRIM_POINT_LIST - A list of points, each vertex defines a\n point

            • \n@@ -1878,16 +1784,15 @@\n triplets of vertices define disjointed triangles

              \n
            • ALLEGRO_PRIM_TRIANGLE_STRIP - A strip of triangles, sequential\n vertices define a strip of triangles

            • \n
            • ALLEGRO_PRIM_TRIANGLE_FAN - A fan of triangles, all triangles\n share the first vertex

            • \n
            \n

            ALLEGRO_PRIM_ATTR

            \n-
            typedef enum ALLEGRO_PRIM_ATTR\n-typedef enum ALLEGRO_PRIM_ATTR
            \n+
            typedef enum ALLEGRO_PRIM_ATTR
            \n

            Source\n Code

            \n

            Enumerates the types of vertex attributes that a custom vertex may\n have.

            \n
              \n
            • ALLEGRO_PRIM_POSITION - Position information, can be stored only\n@@ -1936,16 +1841,15 @@\n

              Since: 5.1.6

            • \n
            \n

            See also: ALLEGRO_VERTEX_DECL, ALLEGRO_PRIM_STORAGE, al_attach_shader_source

            \n

            ALLEGRO_PRIM_STORAGE

            \n-
            typedef enum ALLEGRO_PRIM_STORAGE\n-typedef enum ALLEGRO_PRIM_STORAGE
            \n+
            typedef enum ALLEGRO_PRIM_STORAGE
            \n

            Source\n Code

            \n

            Enumerates the types of storage an attribute of a custom vertex may\n be stored in. Many of these can only be used for ALLEGRO_PRIM_USER_ATTR\n attributes and can only be accessed via shaders. Usually no matter what\n the storage is specified the attribute gets converted to single\n@@ -1998,38 +1902,35 @@\n href=\"primitives.html#al_create_vertex_decl\">al_create_vertex_decl\n will return NULL if you use it on those platforms.

            \n

            Since: 5.1.6

          • \n
          \n

          See also: ALLEGRO_PRIM_ATTR

          \n

          ALLEGRO_VERTEX_CACHE_SIZE

          \n-
          #define ALLEGRO_VERTEX_CACHE_SIZE 256\n-#define ALLEGRO_VERTEX_CACHE_SIZE 256
          \n+
          #define ALLEGRO_VERTEX_CACHE_SIZE 256
          \n

          Source\n Code

          \n

          Defines the size of the transformation vertex cache for the software\n renderer. If you pass less than this many vertices to the primitive\n rendering functions you will get a speed boost. This also defines the\n size of the cache vertex buffer, used for the high-level primitives.\n This corresponds to the maximum number of line segments that will be\n used to form them.

          \n

          ALLEGRO_PRIM_QUALITY

          \n-
          #define ALLEGRO_PRIM_QUALITY 10\n-#define ALLEGRO_PRIM_QUALITY 10
          \n+
          #define ALLEGRO_PRIM_QUALITY 10
          \n

          Source\n Code

          \n

          Controls the quality of the approximation of curved primitives\n (e.g.\u00a0circles). Curved primitives are drawn by approximating them with a\n sequence of line segments. By default, this roughly corresponds to error\n of less than half of a pixel.

          \n

          ALLEGRO_LINE_JOIN

          \n-
          typedef enum ALLEGRO_LINE_JOIN\n-typedef enum ALLEGRO_LINE_JOIN
          \n+
          typedef enum ALLEGRO_LINE_JOIN
          \n

          Source\n Code

          \n
            \n
          • ALLEGRO_LINE_JOIN_NONE
          • \n
          • ALLEGRO_LINE_JOIN_BEVEL
          • \n
          • ALLEGRO_LINE_JOIN_ROUND
          • \n@@ -2048,16 +1949,15 @@\n href=\"primitives.html#al_draw_polygon\">al_draw_polygon

            \n

            Examples:

            \n
              \n
            • ex_polygon.c
            • \n
            \n

            ALLEGRO_LINE_CAP

            \n-
            typedef enum ALLEGRO_LINE_CAP\n-typedef enum ALLEGRO_LINE_CAP
            \n+
            typedef enum ALLEGRO_LINE_CAP
            \n

            Source\n Code

            \n
              \n
            • ALLEGRO_LINE_CAP_NONE
            • \n
            • ALLEGRO_LINE_CAP_SQUARE
            • \n
            • ALLEGRO_LINE_CAP_ROUND
            • \n@@ -2079,16 +1979,15 @@\n href=\"primitives.html#al_draw_polygon\">al_draw_polygon

              \n

              Examples:

              \n
                \n
              • ex_polygon.c
              • \n
              \n

              ALLEGRO_VERTEX_BUFFER

              \n-
              typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER;\n-typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER;
              \n+
              typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER;
              \n

              Source\n Code

              \n

              A GPU vertex buffer that you can use to store vertices on the GPU\n instead of uploading them afresh during every drawing operation.

              \n

              Since: 5.1.3

              \n

              See also: \n

            • ex_vertex_buffer.c
            • \n
            • ex_prim.c
            • \n
            \n

            ALLEGRO_INDEX_BUFFER

            \n-
            typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER;\n-typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER;
            \n+
            typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER;
            \n

            Source\n Code

            \n

            A GPU index buffer that you can use to store indices of vertices in a\n vertex buffer on the GPU instead of uploading them afresh during every\n drawing operation.

            \n

            Since: 5.1.8

            \n@@ -2118,16 +2016,15 @@\n href=\"primitives.html#al_destroy_index_buffer\">al_destroy_index_buffer

            \n

            Examples:

            \n
              \n
            • ex_prim.c
            • \n
            \n

            ALLEGRO_PRIM_BUFFER_FLAGS

            \n-
            typedef enum ALLEGRO_PRIM_BUFFER_FLAGS\n-typedef enum ALLEGRO_PRIM_BUFFER_FLAGS
            \n+
            typedef enum ALLEGRO_PRIM_BUFFER_FLAGS
            \n

            Source\n Code

            \n

            Flags to specify how to create a vertex or an index buffer.

            \n
              \n
            • ALLEGRO_PRIM_BUFFER_STREAM - Hints to the driver that the buffer\n is written to often, but used only a few times per frame

            • \n@@ -2145,12 +2042,12 @@\n

              Since: 5.1.3

              \n

              See also: al_create_vertex_buffer,\n al_create_index_buffer

              \n

              \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:59 UTC\n+ - Last updated: 2024-01-07 09:01:17 UTC\n

              \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -118,39 +118,35 @@\n o ALLEGRO_PRIM_BUFFER_FLAGS\n These functions are declared in the following header file. Link with\n allegro_primitives.\n #include \n ****** General ******\n ***** al_get_allegro_primitives_version *****\n uint32_t al_get_allegro_primitives_version(void)\n-uint32_t al_get_allegro_primitives_version(void)\n Source_Code\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version.\n ***** al_init_primitives_addon *****\n bool al_init_primitives_addon(void)\n-bool al_init_primitives_addon(void)\n Source_Code\n Initializes the primitives addon.\n Returns: True on success, false on failure.\n See also: al_shutdown_primitives_addon\n Examples:\n * ex_touch_input.c\n * ex_blend_bench.c\n * ex_enet_client.c\n ***** al_is_primitives_addon_initialized *****\n bool al_is_primitives_addon_initialized(void)\n-bool al_is_primitives_addon_initialized(void)\n Source_Code\n Returns true if the primitives addon is initialized, otherwise returns false.\n Since: 5.2.6\n See also: al_init_primitives_addon, al_shutdown_primitives_addon\n ***** al_shutdown_primitives_addon *****\n void al_shutdown_primitives_addon(void)\n-void al_shutdown_primitives_addon(void)\n Source_Code\n Shut down the primitives addon. This is done automatically at program exit, but\n can be called any time the user wishes as well.\n See also: al_init_primitives_addon\n ****** High level drawing routines ******\n High level drawing routines encompass the most common usage of this addon: to\n draw geometric primitives, both smooth (variations on the circle theme) and\n@@ -230,90 +226,78 @@\n sharp. The offsets used in the second diagram were chosen so that this is the\n case: if you use those offsets, your shapes (if they are oriented the same way\n as they are on the diagram) should look the same whether multisampling is\n turned on or off.\n ***** al_draw_line *****\n void al_draw_line(float x1, float y1, float x2, float y2,\n ALLEGRO_COLOR color, float thickness)\n-void al_draw_line(float x1, float y1, float x2, float y2,\n- ALLEGRO_COLOR color, float thickness)\n Source_Code\n Draws a line segment between two points.\n Parameters:\n * x1, y1, x2, y2 - Start and end points of the line\n * color - Color of the line\n * thickness - Thickness of the line, pass <= 0 to draw hairline lines\n See also: al_draw_soft_line\n Examples:\n * ex_font_justify.cpp\n * ex_resize.c\n * ex_mouse_warp.c\n ***** al_draw_triangle *****\n void al_draw_triangle(float x1, float y1, float x2, float y2,\n float x3, float y3, ALLEGRO_COLOR color, float thickness)\n-void al_draw_triangle(float x1, float y1, float x2, float y2,\n- float x3, float y3, ALLEGRO_COLOR color, float thickness)\n Source_Code\n Draws an outlined triangle.\n Parameters:\n * x1, y1, x2, y2, x3, y3 - Three points of the triangle\n * color - Color of the triangle\n * thickness - Thickness of the lines, pass <= 0 to draw hairline lines\n See also: al_draw_filled_triangle, al_draw_soft_triangle\n Examples:\n * ex_prim.c\n ***** al_draw_filled_triangle *****\n void al_draw_filled_triangle(float x1, float y1, float x2, float y2,\n float x3, float y3, ALLEGRO_COLOR color)\n-void al_draw_filled_triangle(float x1, float y1, float x2, float y2,\n- float x3, float y3, ALLEGRO_COLOR color)\n Source_Code\n Draws a filled triangle.\n Parameters:\n * x1, y1, x2, y2, x3, y3 - Three points of the triangle\n * color - Color of the triangle\n See also: al_draw_triangle\n Examples:\n * ex_prim.c\n ***** al_draw_rectangle *****\n void al_draw_rectangle(float x1, float y1, float x2, float y2,\n ALLEGRO_COLOR color, float thickness)\n-void al_draw_rectangle(float x1, float y1, float x2, float y2,\n- ALLEGRO_COLOR color, float thickness)\n Source_Code\n Draws an outlined rectangle.\n Parameters:\n * x1, y1, x2, y2 - Upper left and lower right points of the rectangle\n * color - Color of the rectangle\n * thickness - Thickness of the lines, pass <= 0 to draw hairline lines\n See also: al_draw_filled_rectangle, al_draw_rounded_rectangle\n Examples:\n * ex_mouse.c\n * ex_font_justify.cpp\n * ex_subbitmap.c\n ***** al_draw_filled_rectangle *****\n void al_draw_filled_rectangle(float x1, float y1, float x2, float y2,\n ALLEGRO_COLOR color)\n-void al_draw_filled_rectangle(float x1, float y1, float x2, float y2,\n- ALLEGRO_COLOR color)\n Source_Code\n Draws a filled rectangle.\n Parameters:\n * x1, y1, x2, y2 - Upper left and lower right points of the rectangle\n * color - Color of the rectangle\n See also: al_draw_rectangle, al_draw_filled_rounded_rectangle\n Examples:\n * ex_mouse.c\n * ex_timer.c\n * ex_window_maximized.c\n ***** al_draw_rounded_rectangle *****\n void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2,\n float rx, float ry, ALLEGRO_COLOR color, float thickness)\n-void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2,\n- float rx, float ry, ALLEGRO_COLOR color, float thickness)\n Source_Code\n Draws an outlined rounded rectangle.\n Parameters:\n * x1, y1, x2, y2 - Upper left and lower right points of the rectangle\n * color - Color of the rectangle\n * rx, ry - The radii of the round\n * thickness - Thickness of the lines, pass <= 0 to draw hairline lines\n@@ -321,16 +305,14 @@\n Examples:\n * ex_threads.c\n * ex_prim.c\n * ex_audio_chain.cpp\n ***** al_draw_filled_rounded_rectangle *****\n void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2,\n float rx, float ry, ALLEGRO_COLOR color)\n-void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2,\n- float rx, float ry, ALLEGRO_COLOR color)\n Source_Code\n Draws an filled rounded rectangle.\n Parameters:\n * x1, y1, x2, y2 - Upper left and lower right points of the rectangle\n * color - Color of the rectangle\n * rx, ry - The radii of the round\n See also: al_draw_rounded_rectangle, al_draw_filled_rectangle\n@@ -338,17 +320,14 @@\n * ex_threads.c\n * ex_video.c\n * ex_prim.c\n ***** al_calculate_arc *****\n void al_calculate_arc(float* dest, int stride, float cx, float cy,\n float rx, float ry, float start_theta, float delta_theta, float thickness,\n int num_points)\n-void al_calculate_arc(float* dest, int stride, float cx, float cy,\n- float rx, float ry, float start_theta, float delta_theta, float thickness,\n- int num_points)\n Source_Code\n When thickness <= 0 this function computes positions of num_points regularly\n spaced points on an elliptical arc. When thickness > 0 this function computes\n two sets of points, obtained as follows: the first set is obtained by taking\n the points computed in the thickness <= 0 case and shifting them by thickness /\n 2 outward, in a direction perpendicular to the arc curve. The second set is the\n same, but shifted thickness / 2 inward relative to the arc. The two sets of\n@@ -401,16 +380,14 @@\n * num_points - The number of points to calculate\n See also: al_draw_arc, al_calculate_spline, al_calculate_ribbon\n Examples:\n * ex_vertex_buffer.c\n ***** al_draw_pieslice *****\n void al_draw_pieslice(float cx, float cy, float r, float start_theta,\n float delta_theta, ALLEGRO_COLOR color, float thickness)\n-void al_draw_pieslice(float cx, float cy, float r, float start_theta,\n- float delta_theta, ALLEGRO_COLOR color, float thickness)\n Source_Code\n Draws a pieslice (outlined circular sector).\n Parameters:\n * cx, cy - Center of the pieslice\n * r - Radius of the pieslice\n * color - Color of the pieslice\n * start_theta - The initial angle from which the pieslice is drawn in\n@@ -421,16 +398,14 @@\n Since: 5.0.6, 5.1.0\n See also: al_draw_filled_pieslice\n Examples:\n * ex_prim.c\n ***** al_draw_filled_pieslice *****\n void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta,\n float delta_theta, ALLEGRO_COLOR color)\n-void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta,\n- float delta_theta, ALLEGRO_COLOR color)\n Source_Code\n Draws a filled pieslice (filled circular sector).\n Parameters:\n * cx, cy - Center of the pieslice\n * r - Radius of the pieslice\n * color - Color of the pieslice\n * start_theta - The initial angle from which the pieslice is drawn in\n@@ -440,16 +415,14 @@\n Since: 5.0.6, 5.1.0\n See also: al_draw_pieslice\n Examples:\n * ex_prim.c\n ***** al_draw_ellipse *****\n void al_draw_ellipse(float cx, float cy, float rx, float ry,\n ALLEGRO_COLOR color, float thickness)\n-void al_draw_ellipse(float cx, float cy, float rx, float ry,\n- ALLEGRO_COLOR color, float thickness)\n Source_Code\n Draws an outlined ellipse.\n Parameters:\n * cx, cy - Center of the ellipse\n * rx, ry - Radii of the ellipse\n * color - Color of the ellipse\n * thickness - Thickness of the ellipse, pass <= 0 to draw a hairline\n@@ -457,61 +430,54 @@\n See also: al_draw_filled_ellipse, al_draw_circle\n Examples:\n * ex_draw.c\n * ex_prim.c\n ***** al_draw_filled_ellipse *****\n void al_draw_filled_ellipse(float cx, float cy, float rx, float ry,\n ALLEGRO_COLOR color)\n-void al_draw_filled_ellipse(float cx, float cy, float rx, float ry,\n- ALLEGRO_COLOR color)\n Source_Code\n Draws a filled ellipse.\n Parameters:\n * cx, cy - Center of the ellipse\n * rx, ry - Radii of the ellipse\n * color - Color of the ellipse\n See also: al_draw_ellipse, al_draw_filled_circle\n Examples:\n * ex_draw.c\n * ex_prim.c\n ***** al_draw_circle *****\n void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color,\n float thickness)\n-void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color,\n- float thickness)\n Source_Code\n Draws an outlined circle.\n Parameters:\n * cx, cy - Center of the circle\n * r - Radius of the circle\n * color - Color of the circle\n * thickness - Thickness of the circle, pass <= 0 to draw a hairline circle\n See also: al_draw_filled_circle, al_draw_ellipse\n Examples:\n * ex_touch_input.c\n * ex_transform.c\n ***** al_draw_filled_circle *****\n void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color)\n-void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color)\n Source_Code\n Draws a filled circle.\n Parameters:\n * cx, cy - Center of the circle\n * r - Radius of the circle\n * color - Color of the circle\n See also: al_draw_circle, al_draw_filled_ellipse\n Examples:\n * ex_enet_client.c\n * ex_joystick_hotplugging.c\n * ex_blend2.cpp\n ***** al_draw_arc *****\n void al_draw_arc(float cx, float cy, float r, float start_theta,\n float delta_theta, ALLEGRO_COLOR color, float thickness)\n-void al_draw_arc(float cx, float cy, float r, float start_theta,\n- float delta_theta, ALLEGRO_COLOR color, float thickness)\n Source_Code\n Draws an arc.\n Parameters:\n * cx, cy - Center of the arc\n * r - Radius of the arc\n * color - Color of the arc\n * start_theta - The initial angle from which the arc is calculated in\n@@ -522,17 +488,14 @@\n See also: al_calculate_arc, al_draw_elliptical_arc\n Examples:\n * ex_prim.c\n ***** al_draw_elliptical_arc *****\n void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float\n start_theta,\n float delta_theta, ALLEGRO_COLOR color, float thickness)\n-void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float\n-start_theta,\n- float delta_theta, ALLEGRO_COLOR color, float thickness)\n Source_Code\n Draws an elliptical arc.\n Parameters:\n * cx, cy - Center of the arc\n * rx, ry - Radii of the arc\n * color - Color of the arc\n * start_theta - The initial angle from which the arc is calculated in\n@@ -543,16 +506,14 @@\n Since: 5.0.6, 5.1.0\n See also: al_calculate_arc, al_draw_arc\n Examples:\n * ex_prim.c\n ***** al_calculate_spline *****\n void al_calculate_spline(float* dest, int stride, float points[8],\n float thickness, int num_segments)\n-void al_calculate_spline(float* dest, int stride, float points[8],\n- float thickness, int num_segments)\n Source_Code\n Calculates a B\u00c3\u00a9zier spline given 4 control points. If thickness <= 0, then\n num_segments of points are required in the destination, otherwise twice as many\n are needed. The destination buffer should consist of regularly spaced (by\n distance of stride bytes) doublets of floats, corresponding to x and y\n coordinates of the vertices.\n Parameters:\n@@ -561,29 +522,26 @@\n coordinates\n * points - An array of 4 pairs of coordinates of the 4 control points\n * thickness - Thickness of the spline ribbon\n * num_segments - The number of points to calculate\n See also: al_draw_spline, al_calculate_arc, al_calculate_ribbon\n ***** al_draw_spline *****\n void al_draw_spline(float points[8], ALLEGRO_COLOR color, float thickness)\n-void al_draw_spline(float points[8], ALLEGRO_COLOR color, float thickness)\n Source_Code\n Draws a B\u00c3\u00a9zier spline given 4 control points.\n Parameters:\n * points - An array of 4 pairs of coordinates of the 4 control points\n * color - Color of the spline\n * thickness - Thickness of the spline, pass <= 0 to draw a hairline spline\n See also: al_calculate_spline\n Examples:\n * ex_prim.c\n ***** al_calculate_ribbon *****\n void al_calculate_ribbon(float* dest, int dest_stride, const float *points,\n int points_stride, float thickness, int num_segments)\n-void al_calculate_ribbon(float* dest, int dest_stride, const float *points,\n- int points_stride, float thickness, int num_segments)\n Source_Code\n Calculates a ribbon given an array of points. The ribbon will go through all of\n the passed points. If thickness <= 0, then num_segments of points are required\n in the destination buffer, otherwise twice as many are needed. The destination\n and the points buffer should consist of regularly spaced doublets of floats,\n corresponding to x and y coordinates of the vertices.\n Parameters:\n@@ -596,17 +554,14 @@\n * thickness - Thickness of the spline ribbon\n * num_segments - The number of points to calculate\n See also: al_draw_ribbon, al_calculate_arc, al_calculate_spline\n ***** al_draw_ribbon *****\n void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR\n color,\n float thickness, int num_segments)\n-void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR\n-color,\n- float thickness, int num_segments)\n Source_Code\n Draws a ribbon given an array of points. The ribbon will go through all of the\n passed points. The points buffer should consist of regularly spaced doublets of\n floats, corresponding to x and y coordinates of the vertices.\n Parameters:\n * points - An array of coordinate pairs (x and y) for each point\n * points_stride - Distance (in bytes) between starts of successive pairs of\n@@ -636,16 +591,14 @@\n offset the texture coordinates you pass to the al_draw_prim by (0.5, 0.5) if\n you need precise pixel control. E.g. to refer to pixel (5, 10) you\u00e2\u0080\u0099d set the\n u and v to 5.5 and 10.5 respectively.\n See also: Pixel-precise_output\n ***** al_draw_prim *****\n int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n ALLEGRO_BITMAP* texture, int start, int end, int type)\n-int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n- ALLEGRO_BITMAP* texture, int start, int end, int type)\n Source_Code\n Draws a subset of the passed vertex array.\n Parameters:\n * texture - Texture to use, pass NULL to use only color shaded primitves\n * vtxs - Pointer to an array of vertices\n * decl - Pointer to a vertex_declaration. If set to NULL, the vertices are\n assumed to be of the ALLEGRO_VERTEX type\n@@ -666,16 +619,14 @@\n Examples:\n * ex_prim_shader.c\n * ex_vertex_buffer.c\n * ex_camera.c\n ***** al_draw_indexed_prim *****\n int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type)\n-int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n- ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type)\n Source_Code\n Draws a subset of the passed vertex array. This function uses an index array to\n specify which vertices to use.\n Parameters:\n * texture - Texture to use, pass NULL to use only color shaded primitves\n * vtxs - Pointer to an array of vertices\n * decl - Pointer to a vertex declaration. If set to NULL, the vtxs are\n@@ -688,16 +639,14 @@\n See also: ALLEGRO_VERTEX, ALLEGRO_PRIM_TYPE, ALLEGRO_VERTEX_DECL, al_draw_prim\n Examples:\n * ex_projection2.c\n * ex_prim.c\n ***** al_draw_vertex_buffer *****\n int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n ALLEGRO_BITMAP* texture, int start, int end, int type)\n-int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n- ALLEGRO_BITMAP* texture, int start, int end, int type)\n Source_Code\n Draws a subset of the passed vertex buffer. The vertex buffer must not be\n locked. Additionally, to draw onto memory bitmaps or with memory bitmap\n textures the vertex buffer must support reading (i.e.\u00c2\u00a0 it must be created with\n the ALLEGRO_PRIM_BUFFER_READWRITE).\n Parameters:\n * vertex_buffer - Vertex buffer to draw\n@@ -712,17 +661,14 @@\n Examples:\n * ex_vertex_buffer.c\n * ex_prim.c\n ***** al_draw_indexed_buffer *****\n int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer,\n int start, int end, int type)\n-int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n- ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer,\n- int start, int end, int type)\n Source_Code\n Draws a subset of the passed vertex buffer. This function uses an index buffer\n to specify which vertices to use. Both buffers must not be locked.\n Additionally, to draw onto memory bitmaps or with memory bitmap textures both\n buffers must support reading (i.e.\u00c2\u00a0they must be created with the\n ALLEGRO_PRIM_BUFFER_READWRITE).\n Parameters:\n@@ -742,20 +688,14 @@\n ***** al_draw_soft_triangle *****\n void al_draw_soft_triangle(\n ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state,\n void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n void (*first)(uintptr_t, int, int, int, int),\n void (*step)(uintptr_t, int),\n void (*draw)(uintptr_t, int, int, int))\n-void al_draw_soft_triangle(\n- ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state,\n- void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n- void (*first)(uintptr_t, int, int, int, int),\n- void (*step)(uintptr_t, int),\n- void (*draw)(uintptr_t, int, int, int))\n Source_Code\n Draws a triangle using the software rasterizer and user supplied pixel\n functions. For help in understanding what these functions do, see the\n implementation of the various shading routines in addons/primitives/tri_soft.c.\n The triangle is drawn in two segments, from top to bottom. The segments are\n deliniated by the vertically middle vertex of the triangle. One of the two\n segments may be absent if two vertices are horizontally collinear.\n@@ -781,18 +721,14 @@\n coordinates are inclusive.\n See also: al_draw_triangle\n ***** al_draw_soft_line *****\n void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state,\n void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n void (*step)(uintptr_t, int),\n void (*draw)(uintptr_t, int, int))\n-void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state,\n- void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n- void (*step)(uintptr_t, int),\n- void (*draw)(uintptr_t, int, int))\n Source_Code\n Draws a line using the software rasterizer and user supplied pixel functions.\n For help in understanding what these functions do, see the implementation of\n the various shading routines in addons/primitives/line_soft.c. The line is\n drawn top to bottom.\n Parameters:\n * v1, v2 - The two vertices of the line\n@@ -809,42 +745,37 @@\n * draw - Called once per pixel. The function is expected to draw the pixel\n at the coordinates passed to it.\n See also: al_draw_line\n ****** Custom vertex declaration routines ******\n ***** al_create_vertex_decl *****\n ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT*\n elements, int stride)\n-ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT*\n-elements, int stride)\n Source_Code\n Creates a vertex declaration, which describes a custom vertex format.\n Parameters:\n * elements - An array of ALLEGRO_VERTEX_ELEMENT structures.\n * stride - Size of the custom vertex structure\n Returns: Newly created vertex declaration.\n See also: ALLEGRO_VERTEX_ELEMENT, ALLEGRO_VERTEX_DECL, al_destroy_vertex_decl\n Examples:\n * ex_prim_shader.c\n * ex_prim.c\n ***** al_destroy_vertex_decl *****\n void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl)\n-void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl)\n Source_Code\n Destroys a vertex declaration.\n Parameters:\n * decl - Vertex declaration to destroy\n See also: ALLEGRO_VERTEX_ELEMENT, ALLEGRO_VERTEX_DECL, al_create_vertex_decl\n Examples:\n * ex_prim_shader.c\n ****** Vertex buffer routines ******\n ***** al_create_vertex_buffer *****\n ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl,\n const void* initial_data, int num_vertices, int flags)\n-ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl,\n- const void* initial_data, int num_vertices, int flags)\n Source_Code\n Creates a vertex buffer. Can return NULL if the buffer could not be created\n (e.g.\u00c2\u00a0the system only supports write-only buffers).\n Note:\n This is an advanced feature, often unsupported on lower-end video\n cards. Be extra mindful of this function failing and make\n arrangements for fallback drawing functionality or a nice error\n@@ -861,27 +792,24 @@\n Since: 5.1.3\n See also: ALLEGRO_VERTEX_BUFFER, al_destroy_vertex_buffer\n Examples:\n * ex_vertex_buffer.c\n * ex_prim.c\n ***** al_destroy_vertex_buffer *****\n void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)\n-void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)\n Source_Code\n Destroys a vertex buffer. Does nothing if passed NULL.\n Since: 5.1.3\n See also: ALLEGRO_VERTEX_BUFFER, al_create_vertex_buffer\n Examples:\n * ex_vertex_buffer.c\n * ex_prim.c\n ***** al_lock_vertex_buffer *****\n void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset,\n int length, int flags)\n-void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset,\n- int length, int flags)\n Source_Code\n Locks a vertex buffer so you can access its data. Will return NULL if the\n parameters are invalid, if reading is requested from a write only buffer, or if\n the buffer is already locked.\n Parameters:\n * buffer - Vertex buffer to lock\n * offset - Vertex index of the start of the locked range\n@@ -891,35 +819,31 @@\n Since: 5.1.3\n See also: ALLEGRO_VERTEX_BUFFER, al_unlock_vertex_buffer\n Examples:\n * ex_vertex_buffer.c\n * ex_prim.c\n ***** al_unlock_vertex_buffer *****\n void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)\n-void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)\n Source_Code\n Unlocks a previously locked vertex buffer.\n Since: 5.1.3\n See also: ALLEGRO_VERTEX_BUFFER, al_lock_vertex_buffer\n Examples:\n * ex_vertex_buffer.c\n * ex_prim.c\n ***** al_get_vertex_buffer_size *****\n int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer)\n-int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer)\n Source_Code\n Returns the size of the vertex buffer\n Since: 5.1.8\n See also: ALLEGRO_VERTEX_BUFFER\n ****** Index buffer routines ******\n ***** al_create_index_buffer *****\n ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size,\n const void* initial_data, int num_indices, int flags)\n-ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size,\n- const void* initial_data, int num_indices, int flags)\n Source_Code\n Creates a index buffer. Can return NULL if the buffer could not be created\n (e.g.\u00c2\u00a0the system only supports write-only buffers).\n Note:\n This is an advanced feature, often unsupported on lower-end video\n cards. Be extra mindful of this function failing and make\n arrangements for fallback drawing functionality or a nice error\n@@ -935,26 +859,23 @@\n ALLEGRO_PRIM_BUFFER_STATIC.\n Since: 5.1.8\n See also: ALLEGRO_INDEX_BUFFER, al_destroy_index_buffer\n Examples:\n * ex_prim.c\n ***** al_destroy_index_buffer *****\n void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)\n-void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)\n Source_Code\n Destroys a index buffer. Does nothing if passed NULL.\n Since: 5.1.8\n See also: ALLEGRO_INDEX_BUFFER, al_create_index_buffer\n Examples:\n * ex_prim.c\n ***** al_lock_index_buffer *****\n void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset,\n int length, int flags)\n-void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset,\n- int length, int flags)\n Source_Code\n Locks a index buffer so you can access its data. Will return NULL if the\n parameters are invalid, if reading is requested from a write only buffer and if\n the buffer is already locked.\n Parameters:\n * buffer - Index buffer to lock\n * offset - Element index of the start of the locked range\n@@ -963,36 +884,31 @@\n ALLEGRO_LOCK_READWRITE\n Since: 5.1.8\n See also: ALLEGRO_INDEX_BUFFER, al_unlock_index_buffer\n Examples:\n * ex_prim.c\n ***** al_unlock_index_buffer *****\n void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)\n-void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)\n Source_Code\n Unlocks a previously locked index buffer.\n Since: 5.1.8\n See also: ALLEGRO_INDEX_BUFFER, al_lock_index_buffer\n Examples:\n * ex_prim.c\n ***** al_get_index_buffer_size *****\n int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer)\n-int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer)\n Source_Code\n Returns the size of the index buffer\n Since: 5.1.8\n See also: ALLEGRO_INDEX_BUFFER\n ****** Polygon routines ******\n ***** al_draw_polyline *****\n void al_draw_polyline(const float* vertices, int vertex_stride,\n int vertex_count, int join_style, int cap_style,\n ALLEGRO_COLOR color, float thickness, float miter_limit)\n-void al_draw_polyline(const float* vertices, int vertex_stride,\n- int vertex_count, int join_style, int cap_style,\n- ALLEGRO_COLOR color, float thickness, float miter_limit)\n Source_Code\n Draw a series of line segments.\n * vertices - Interleaved array of (x, y) vertex coordinates\n * vertex_stride - the number of bytes between pairs of vertices (the\n stride)\n * vertex_count - Number of vertices in the array\n * join_style - Member of ALLEGRO_LINE_JOIN specifying how to render the\n@@ -1019,16 +935,14 @@\n Since: 5.1.0\n See also: al_draw_polygon, ALLEGRO_LINE_JOIN, ALLEGRO_LINE_CAP\n Examples:\n * ex_polygon.c\n ***** al_draw_polygon *****\n void al_draw_polygon(const float *vertices, int vertex_count,\n int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit)\n-void al_draw_polygon(const float *vertices, int vertex_count,\n- int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit)\n Source_Code\n Draw an unfilled polygon. This is the same as passing ALLEGRO_LINE_CAP_CLOSED\n to al_draw_polyline.\n * vertex - Interleaved array of (x, y) vertex coordinates\n * vertex_count - Number of vertices in the array\n * join_style - Member of ALLEGRO_LINE_JOIN specifying how to render the\n joins between line segments\n@@ -1038,16 +952,14 @@\n Since: 5.1.0\n See also: al_draw_filled_polygon, al_draw_polyline, ALLEGRO_LINE_JOIN\n Examples:\n * ex_polygon.c\n ***** al_draw_filled_polygon *****\n void al_draw_filled_polygon(const float *vertices, int vertex_count,\n ALLEGRO_COLOR color)\n-void al_draw_filled_polygon(const float *vertices, int vertex_count,\n- ALLEGRO_COLOR color)\n Source_Code\n Draw a filled, simple polygon. Simple means it does not have to be convex but\n must not be self-overlapping.\n * vertices - Interleaved array of (x, y) vertex coordinates\n * vertex_count - Number of vertices in the array\n * color - Color of the filled polygon\n When the y-axis is facing downwards (the usual), the coordinates must be\n@@ -1055,16 +967,14 @@\n Since: 5.1.0\n See also: al_draw_polygon, al_draw_filled_polygon_with_holes\n Examples:\n * ex_polygon.c\n ***** al_draw_filled_polygon_with_holes *****\n void al_draw_filled_polygon_with_holes(const float *vertices,\n const int *vertex_counts, ALLEGRO_COLOR color)\n-void al_draw_filled_polygon_with_holes(const float *vertices,\n- const int *vertex_counts, ALLEGRO_COLOR color)\n Source_Code\n Draws a filled simple polygon with zero or more other simple polygons\n subtracted from it - the holes. The holes cannot touch or intersect with the\n outline of the filled polygon.\n * vertices - Interleaved array of (x, y) vertex coordinates for each of the\n polygons, including holes.\n * vertex_counts - Number of vertices for each polygon. The number of\n@@ -1100,17 +1010,14 @@\n al_triangulate_polygon\n Examples:\n * ex_polygon.c\n ***** al_triangulate_polygon *****\n bool al_triangulate_polygon(\n const float* vertices, size_t vertex_stride, const int* vertex_counts,\n void (*emit_triangle)(int, int, int, void*), void* userdata)\n-bool al_triangulate_polygon(\n- const float* vertices, size_t vertex_stride, const int* vertex_counts,\n- void (*emit_triangle)(int, int, int, void*), void* userdata)\n Source_Code\n Divides a simple polygon into triangles, with zero or more other simple\n polygons subtracted from it - the holes. The holes cannot touch or intersect\n with the outline of the main polygon. Simple means the polygon does not have to\n be convex but must not be self-overlapping.\n Parameters:\n * vertices - Interleaved array of (x, y) vertex coordinates for each of the\n@@ -1126,15 +1033,14 @@\n vertices and userdata.\n * userdata - arbitrary data to be passed to emit_triangle.\n Since: 5.1.0\n See also: al_draw_filled_polygon_with_holes\n ****** Structures and types ******\n ***** ALLEGRO_VERTEX *****\n typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX;\n-typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX;\n Source_Code\n Defines the generic vertex type, with a 3D position, color and texture\n coordinates for a single texture. Note that at this time, the software driver\n for this addon cannot render 3D primitives. If you want a 2D only primitive,\n set z to 0. Note that you must initialize all members of this struct when\n you\u00e2\u0080\u0099re using it. One exception to this rule are the u and v variables which\n can be left uninitialized when you are not using textures.\n@@ -1145,26 +1051,24 @@\n See also: ALLEGRO_PRIM_ATTR\n Examples:\n * ex_shader.cpp\n * ex_shader_target.c\n * ex_prim_shader.c\n ***** ALLEGRO_VERTEX_DECL *****\n typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL;\n-typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL;\n Source_Code\n A vertex declaration. This opaque structure is responsible for describing the\n format and layout of a user defined custom vertex. It is created and destroyed\n by specialized functions.\n See also: al_create_vertex_decl, al_destroy_vertex_decl, ALLEGRO_VERTEX_ELEMENT\n Examples:\n * ex_prim_shader.c\n * ex_prim.c\n ***** ALLEGRO_VERTEX_ELEMENT *****\n typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;\n-typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;\n Source_Code\n A small structure describing a certain element of a vertex. E.g. the position\n of the vertex, or its color. These structures are used by the\n al_create_vertex_decl function to create the vertex declaration. For that they\n generally occur in an array. The last element of such an array should have the\n attribute field equal to 0, to signify that it is the end of the array. Here is\n an example code that would create a declaration describing the ALLEGRO_VERTEX\n@@ -1192,15 +1096,14 @@\n See also: al_create_vertex_decl, ALLEGRO_VERTEX_DECL, ALLEGRO_PRIM_ATTR,\n ALLEGRO_PRIM_STORAGE\n Examples:\n * ex_prim_shader.c\n * ex_prim.c\n ***** ALLEGRO_PRIM_TYPE *****\n typedef enum ALLEGRO_PRIM_TYPE\n-typedef enum ALLEGRO_PRIM_TYPE\n Source_Code\n Enumerates the types of primitives this addon can draw.\n * ALLEGRO_PRIM_POINT_LIST - A list of points, each vertex defines a point\n * ALLEGRO_PRIM_LINE_LIST - A list of lines, sequential pairs of vertices\n define disjointed lines\n * ALLEGRO_PRIM_LINE_STRIP - A strip of lines, sequential vertices define a\n strip of lines\n@@ -1210,15 +1113,14 @@\n vertices define disjointed triangles\n * ALLEGRO_PRIM_TRIANGLE_STRIP - A strip of triangles, sequential vertices\n define a strip of triangles\n * ALLEGRO_PRIM_TRIANGLE_FAN - A fan of triangles, all triangles share the\n first vertex\n ***** ALLEGRO_PRIM_ATTR *****\n typedef enum ALLEGRO_PRIM_ATTR\n-typedef enum ALLEGRO_PRIM_ATTR\n Source_Code\n Enumerates the types of vertex attributes that a custom vertex may have.\n * ALLEGRO_PRIM_POSITION - Position information, can be stored only in\n ALLEGRO_PRIM_SHORT_2, ALLEGRO_PRIM_FLOAT_2 and ALLEGRO_PRIM_FLOAT_3.\n * ALLEGRO_PRIM_COLOR_ATTR - Color information, stored in an ALLEGRO_COLOR.\n The storage field of ALLEGRO_VERTEX_ELEMENT is ignored\n * ALLEGRO_PRIM_TEX_COORD - Texture coordinate information, can be stored\n@@ -1256,15 +1158,14 @@\n parameter with the following semantics: TEXCOORD{# + 2} where # is the\n index of the attribute. E.g. the first attribute can be accessed via\n TEXCOORD2, second via TEXCOORD3 and so on.\n Since: 5.1.6\n See also: ALLEGRO_VERTEX_DECL, ALLEGRO_PRIM_STORAGE, al_attach_shader_source\n ***** ALLEGRO_PRIM_STORAGE *****\n typedef enum ALLEGRO_PRIM_STORAGE\n-typedef enum ALLEGRO_PRIM_STORAGE\n Source_Code\n Enumerates the types of storage an attribute of a custom vertex may be stored\n in. Many of these can only be used for ALLEGRO_PRIM_USER_ATTR attributes and\n can only be accessed via shaders. Usually no matter what the storage is\n specified the attribute gets converted to single precision floating point when\n the shader is run. Despite that, it may be advantageous to use more dense\n storage formats (e.g.\u00c2\u00a0ALLEGRO_PRIM_NORMALIZED_UBYTE_4 instead of\n@@ -1308,32 +1209,29 @@\n * ALLEGRO_PRIM_HALF_FLOAT_4 - A quad of half-precision floats. Note that\n this storage format is not supported on all platforms.\n al_create_vertex_decl will return NULL if you use it on those platforms.\n Since: 5.1.6\n See also: ALLEGRO_PRIM_ATTR\n ***** ALLEGRO_VERTEX_CACHE_SIZE *****\n #define ALLEGRO_VERTEX_CACHE_SIZE 256\n-#define ALLEGRO_VERTEX_CACHE_SIZE 256\n Source_Code\n Defines the size of the transformation vertex cache for the software renderer.\n If you pass less than this many vertices to the primitive rendering functions\n you will get a speed boost. This also defines the size of the cache vertex\n buffer, used for the high-level primitives. This corresponds to the maximum\n number of line segments that will be used to form them.\n ***** ALLEGRO_PRIM_QUALITY *****\n #define ALLEGRO_PRIM_QUALITY 10\n-#define ALLEGRO_PRIM_QUALITY 10\n Source_Code\n Controls the quality of the approximation of curved primitives (e.g.\u00c2\u00a0circles).\n Curved primitives are drawn by approximating them with a sequence of line\n segments. By default, this roughly corresponds to error of less than half of a\n pixel.\n ***** ALLEGRO_LINE_JOIN *****\n typedef enum ALLEGRO_LINE_JOIN\n-typedef enum ALLEGRO_LINE_JOIN\n Source_Code\n * ALLEGRO_LINE_JOIN_NONE\n * ALLEGRO_LINE_JOIN_BEVEL\n * ALLEGRO_LINE_JOIN_ROUND\n * ALLEGRO_LINE_JOIN_MITER\n [ALLEGRO_LINE_JOIN styles] ALLEGRO_LINE_JOIN styles\n See the picture for the difference.\n@@ -1341,15 +1239,14 @@\n parameter to the polygon functions.\n Since: 5.1.0\n See also: al_draw_polygon\n Examples:\n * ex_polygon.c\n ***** ALLEGRO_LINE_CAP *****\n typedef enum ALLEGRO_LINE_CAP\n-typedef enum ALLEGRO_LINE_CAP\n Source_Code\n * ALLEGRO_LINE_CAP_NONE\n * ALLEGRO_LINE_CAP_SQUARE\n * ALLEGRO_LINE_CAP_ROUND\n * ALLEGRO_LINE_CAP_TRIANGLE\n * ALLEGRO_LINE_CAP_CLOSED\n [ALLEGRO_LINE_CAP styles] ALLEGRO_LINE_CAP styles\n@@ -1359,37 +1256,34 @@\n looks.)\n Since: 5.1.0\n See also: al_draw_polygon\n Examples:\n * ex_polygon.c\n ***** ALLEGRO_VERTEX_BUFFER *****\n typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER;\n-typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER;\n Source_Code\n A GPU vertex buffer that you can use to store vertices on the GPU instead of\n uploading them afresh during every drawing operation.\n Since: 5.1.3\n See also: al_create_vertex_buffer, al_destroy_vertex_buffer\n Examples:\n * ex_vertex_buffer.c\n * ex_prim.c\n ***** ALLEGRO_INDEX_BUFFER *****\n typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER;\n-typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER;\n Source_Code\n A GPU index buffer that you can use to store indices of vertices in a vertex\n buffer on the GPU instead of uploading them afresh during every drawing\n operation.\n Since: 5.1.8\n See also: al_create_index_buffer, al_destroy_index_buffer\n Examples:\n * ex_prim.c\n ***** ALLEGRO_PRIM_BUFFER_FLAGS *****\n typedef enum ALLEGRO_PRIM_BUFFER_FLAGS\n-typedef enum ALLEGRO_PRIM_BUFFER_FLAGS\n Source_Code\n Flags to specify how to create a vertex or an index buffer.\n * ALLEGRO_PRIM_BUFFER_STREAM - Hints to the driver that the buffer is\n written to often, but used only a few times per frame\n * ALLEGRO_PRIM_BUFFER_STATIC - Hints to the driver that the buffer is\n written to once and is used often\n * ALLEGRO_PRIM_BUFFER_DYNAMIC - Hints to the driver that the buffer is\n@@ -1397,8 +1291,8 @@\n * ALLEGRO_PRIM_BUFFER_READWRITE - Specifies that you want to be able read\n from this buffer. By default this is disabled for performance. Some\n platforms (like OpenGL ES) do not support reading from vertex buffers, so\n if you pass this flag to al_create_vertex_buffer or\n al_create_index_buffer the call will fail.\n Since: 5.1.3\n See also: al_create_vertex_buffer, al_create_index_buffer\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:59 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:17 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/shader.html", "source2": "./usr/share/doc/allegro5-doc/refman/shader.html", "unified_diff": "@@ -188,16 +188,15 @@\n
            • al_get_default_shader_source
            • \n
            \n \n

            These functions are declared in the main Allegro header file:

            \n
             #include <allegro5/allegro.h>
            \n

            ALLEGRO_SHADER

            \n-
            typedef struct ALLEGRO_SHADER ALLEGRO_SHADER;\n-typedef struct ALLEGRO_SHADER ALLEGRO_SHADER;
            \n+
            typedef struct ALLEGRO_SHADER ALLEGRO_SHADER;
            \n

            Source\n Code

            \n

            An ALLEGRO_SHADER is a\n program that runs on the GPU. It combines both a vertex and a pixel\n shader. (In OpenGL terms, an ALLEGRO_SHADER is actually a\n@@ -214,16 +213,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_shader.cpp#L39\">ex_shader.cpp\n

          • ex_shader_target.c
          • \n
          • ex_prim_shader.c
          • \n
          \n

          ALLEGRO_SHADER_TYPE

          \n-
          typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE;\n-typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE;
          \n+
          typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE;
          \n

          Source\n Code

          \n

          Used with al_attach_shader_source\n and al_attach_shader_source_file\n@@ -249,16 +247,15 @@\n one final pixel in the target bitmap is not necessarily composed of only\n a single output but of multiple fragments (for example when\n multi-sampling is being used).

          \n \n \n

          Since: 5.1.0

          \n

          ALLEGRO_SHADER_PLATFORM

          \n-
          typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM;\n-typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM;
          \n+
          typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM;
          \n

          Source\n Code

          \n

          The underlying platform which the ALLEGRO_SHADER is built on top of,\n which dictates the language used to program the shader.

          \n
            \n@@ -785,12 +782,12 @@\n
          • ex_palette.c
          • \n
          • ex_prim_wrap.c
          • \n
          \n

          \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:59 UTC\n+ - Last updated: 2024-01-07 09:01:17 UTC\n

          \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -66,30 +66,28 @@\n * al_set_shader_int_vector\n * al_set_shader_float_vector\n * al_get_default_shader_source\n These functions are declared in the main Allegro header file:\n #include \n ****** ALLEGRO_SHADER ******\n typedef struct ALLEGRO_SHADER ALLEGRO_SHADER;\n-typedef struct ALLEGRO_SHADER ALLEGRO_SHADER;\n Source_Code\n An ALLEGRO_SHADER is a program that runs on the GPU. It combines both a vertex\n and a pixel shader. (In OpenGL terms, an ALLEGRO_SHADER is actually a program\n which has one or more shaders attached. This can be confusing.)\n The source code for the underlying vertex or pixel shader can be provided\n either as GLSL or HLSL, depending on the value of ALLEGRO_SHADER_PLATFORM used\n when creating it.\n Since: 5.1.0\n Examples:\n * ex_shader.cpp\n * ex_shader_target.c\n * ex_prim_shader.c\n ****** ALLEGRO_SHADER_TYPE ******\n typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE;\n-typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE;\n Source_Code\n Used with al_attach_shader_source and al_attach_shader_source_file to specify\n how to interpret the attached source.\n ALLEGRO_VERTEX_SHADER\n A vertex shader is executed for each vertex it is used with. The program\n will output exactly one vertex at a time.\n When Allegro\u00e2\u0080\u0099s graphics are being used then in addition to all vertices\n@@ -105,15 +103,14 @@\n A more accurate term for pixel shader would be fragment shader since one\n final pixel in the target bitmap is not necessarily composed of only a\n single output but of multiple fragments (for example when multi-sampling\n is being used).\n Since: 5.1.0\n ****** ALLEGRO_SHADER_PLATFORM ******\n typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM;\n-typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM;\n Source_Code\n The underlying platform which the ALLEGRO_SHADER is built on top of, which\n dictates the language used to program the shader.\n * ALLEGRO_SHADER_AUTO - Pick a platform automatically given the current\n display flags.\n * ALLEGRO_SHADER_GLSL - OpenGL Shading Language\n * ALLEGRO_SHADER_HLSL - High Level Shader Language (for Direct3D)\n@@ -430,8 +427,8 @@\n the selected platform.\n Since: 5.1.6\n See also: al_attach_shader_source\n Examples:\n * ex_shader_multitex.c\n * ex_palette.c\n * ex_prim_wrap.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:59 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:17 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/state.html", "source2": "./usr/share/doc/allegro5-doc/refman/state.html", "unified_diff": "@@ -171,16 +171,15 @@\n
        • al_get_errno
        • \n
        • al_set_errno
        • \n
        \n \n

        These functions are declared in the main Allegro header file:

        \n
         #include <allegro5/allegro.h>
        \n

        ALLEGRO_STATE

        \n-
        typedef struct ALLEGRO_STATE ALLEGRO_STATE;\n-typedef struct ALLEGRO_STATE ALLEGRO_STATE;
        \n+
        typedef struct ALLEGRO_STATE ALLEGRO_STATE;
        \n

        Source\n Code

        \n

        Opaque type which is passed to al_store_state/al_restore_state.

        \n

        The various state kept internally by Allegro can be displayed like\n@@ -216,16 +215,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_blend_bench.c#L65\">ex_blend_bench.c\n

      • ex_blend2.cpp
      • \n
      • nihgui.cpp
      • \n
      \n

      ALLEGRO_STATE_FLAGS

      \n-
      typedef enum ALLEGRO_STATE_FLAGS\n-typedef enum ALLEGRO_STATE_FLAGS
      \n+
      typedef enum ALLEGRO_STATE_FLAGS
      \n

      Source\n Code

      \n

      Flags which can be passed to al_store_state/al_restore_state as bit\n combinations. See al_store_state\n@@ -309,12 +307,12 @@\n

    • ex_curl.c
    • \n
    • ex_utf8.c
    • \n
    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:56 UTC\n+ - Last updated: 2024-01-07 09:01:13 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -53,15 +53,14 @@\n * al_store_state\n * al_get_errno\n * al_set_errno\n These functions are declared in the main Allegro header file:\n #include \n ****** ALLEGRO_STATE ******\n typedef struct ALLEGRO_STATE ALLEGRO_STATE;\n-typedef struct ALLEGRO_STATE ALLEGRO_STATE;\n Source_Code\n Opaque type which is passed to al_store_state/al_restore_state.\n The various state kept internally by Allegro can be displayed like this:\n global\n active system driver\n current config\n per thread\n@@ -87,15 +86,14 @@\n thread communication.)\n Examples:\n * ex_blend_bench.c\n * ex_blend2.cpp\n * nihgui.cpp\n ****** ALLEGRO_STATE_FLAGS ******\n typedef enum ALLEGRO_STATE_FLAGS\n-typedef enum ALLEGRO_STATE_FLAGS\n Source_Code\n Flags which can be passed to al_store_state/al_restore_state as bit\n combinations. See al_store_state for the list of flags.\n ****** al_restore_state ******\n void al_restore_state(ALLEGRO_STATE const *state)\n Source_Code\n Restores part of the state of the current thread from the given ALLEGRO_STATE\n@@ -140,8 +138,8 @@\n void al_set_errno(int errnum)\n SETTER(allegro_errno, errnum)\n Source_Code\n Set the error number for the calling thread.\n Examples:\n * ex_curl.c\n * ex_utf8.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:56 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:13 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/system.html", "source2": "./usr/share/doc/allegro5-doc/refman/system.html", "unified_diff": "@@ -208,16 +208,15 @@\n be the version of Allegro you compiled with, and B = xb.yb.zb.* be the\n version of Allegro found in the system shared library.

    \n

    If you defined ALLEGRO_UNSTABLE before including Allegro\n headers, then version A is compatible with B only if xa.ya.za =\n xb.yb.zb. Otherwise, A is compatible with B only if xa.ya = xb.yb.

    \n

    See also: al_init

    \n

    al_init

    \n-
    #define al_init()    (al_install_system(ALLEGRO_VERSION_INT, atexit))\n-#define al_init()    (al_install_system(ALLEGRO_VERSION_INT, atexit))
    \n+
    #define al_init()    (al_install_system(ALLEGRO_VERSION_INT, atexit))
    \n

    Source\n Code

    \n

    Like al_install_system,\n but automatically passes in the version and uses the atexit function\n visible in the current binary.

    \n
    \n@@ -792,16 +791,15 @@\n

    Since: 5.1.12

    \n

    Examples:

    \n
      \n
    • ex_cpu.c
    • \n
    \n

    ALLEGRO_SYSTEM_ID

    \n-
    enum ALLEGRO_SYSTEM_ID {\n-enum ALLEGRO_SYSTEM_ID {
    \n+
    enum ALLEGRO_SYSTEM_ID {
    \n

    Source\n Code

    \n

    The system Allegro is running on.

    \n
      \n
    • ALLEGRO_SYSTEM_ID_UNKNOWN - Unknown system.
    • \n
    • ALLEGRO_SYSTEM_ID_XGLX - Xglx
    • \n@@ -814,12 +812,12 @@\n
    • ALLEGRO_SYSTEM_ID_SDL - SDL
    • \n
    \n

    Since: 5.2.5

    \n

    See also: al_get_system_id

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:57 UTC\n+ - Last updated: 2024-01-07 09:01:13 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -85,15 +85,14 @@\n Allegro found in the system shared library.\n If you defined ALLEGRO_UNSTABLE before including Allegro headers, then version\n A is compatible with B only if xa.ya.za = xb.yb.zb. Otherwise, A is compatible\n with B only if xa.ya = xb.yb.\n See also: al_init\n ****** al_init ******\n #define al_init() (al_install_system(ALLEGRO_VERSION_INT, atexit))\n-#define al_init() (al_install_system(ALLEGRO_VERSION_INT, atexit))\n Source_Code\n Like al_install_system, but automatically passes in the version and uses the\n atexit function visible in the current binary.\n Note: It is typically wrong to call al_init anywhere except the final\n game binary. In particular, do not call it inside a shared library\n unless you know what you\u00e2\u0080\u0099re doing. In those cases, it is better to\n call al_install_system either with a NULL atexit_ptr, or with a\n@@ -555,22 +554,21 @@\n returns a certain \u00e2\u0080\u009cdesirable\u00e2\u0080\u009d number.\n This function may be called prior to al_install_system or al_init.\n Since: 5.1.12\n Examples:\n * ex_cpu.c\n ****** ALLEGRO_SYSTEM_ID ******\n enum ALLEGRO_SYSTEM_ID {\n-enum ALLEGRO_SYSTEM_ID {\n Source_Code\n The system Allegro is running on.\n * ALLEGRO_SYSTEM_ID_UNKNOWN - Unknown system.\n * ALLEGRO_SYSTEM_ID_XGLX - Xglx\n * ALLEGRO_SYSTEM_ID_WINDOWS - Windows\n * ALLEGRO_SYSTEM_ID_MACOSX - macOS\n * ALLEGRO_SYSTEM_ID_ANDROID - Android\n * ALLEGRO_SYSTEM_ID_IPHONE - iOS\n * ALLEGRO_SYSTEM_ID_GP2XWIZ - GP2XWIZ\n * ALLEGRO_SYSTEM_ID_RASPBERRYPI - Raspberry Pi\n * ALLEGRO_SYSTEM_ID_SDL - SDL\n Since: 5.2.5\n See also: al_get_system_id\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:57 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:13 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/threads.html", "source2": "./usr/share/doc/allegro5-doc/refman/threads.html", "unified_diff": "@@ -198,46 +198,43 @@\n would be difficult at best, hence the behaviour of the following\n functions will differ subtly on different platforms (more so than\n usual). Your best bet is to be aware of this and code to the\n intersection of the semantics and avoid edge cases.

    \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    ALLEGRO_THREAD

    \n-
    typedef struct ALLEGRO_THREAD ALLEGRO_THREAD;\n-typedef struct ALLEGRO_THREAD ALLEGRO_THREAD;
    \n+
    typedef struct ALLEGRO_THREAD ALLEGRO_THREAD;
    \n

    Source\n Code

    \n

    An opaque structure representing a thread.

    \n

    Examples:

    \n
      \n
    • ex_threads.c
    • \n
    • ex_threads2.c
    • \n
    • ex_loading_thread.c
    • \n
    \n

    ALLEGRO_MUTEX

    \n-
    typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX;\n-typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX;
    \n+
    typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX;
    \n

    Source\n Code

    \n

    An opaque structure representing a mutex.

    \n

    Examples:

    \n
      \n
    • ex_threads2.c
    • \n
    • ex_loading_thread.c
    • \n
    \n

    ALLEGRO_COND

    \n-
    typedef struct ALLEGRO_COND ALLEGRO_COND;\n-typedef struct ALLEGRO_COND ALLEGRO_COND;
    \n+
    typedef struct ALLEGRO_COND ALLEGRO_COND;
    \n

    Source\n Code

    \n

    An opaque structure representing a condition variable.

    \n

    Examples:

    \n
      \n
    • al_broadcast_cond but al_signal_cond may be more\n efficient when it\u2019s applicable.

      \n

      See also: al_broadcast_cond.

      \n

      \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:57 UTC\n+ - Last updated: 2024-01-07 09:01:13 UTC\n

      \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -76,32 +76,29 @@\n subtly on different platforms (more so than usual). Your best bet is to be\n aware of this and code to the intersection of the semantics and avoid edge\n cases.\n These functions are declared in the main Allegro header file:\n #include \n ****** ALLEGRO_THREAD ******\n typedef struct ALLEGRO_THREAD ALLEGRO_THREAD;\n-typedef struct ALLEGRO_THREAD ALLEGRO_THREAD;\n Source_Code\n An opaque structure representing a thread.\n Examples:\n * ex_threads.c\n * ex_threads2.c\n * ex_loading_thread.c\n ****** ALLEGRO_MUTEX ******\n typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX;\n-typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX;\n Source_Code\n An opaque structure representing a mutex.\n Examples:\n * ex_threads2.c\n * ex_loading_thread.c\n ****** ALLEGRO_COND ******\n typedef struct ALLEGRO_COND ALLEGRO_COND;\n-typedef struct ALLEGRO_COND ALLEGRO_COND;\n Source_Code\n An opaque structure representing a condition variable.\n Examples:\n * ex_threads2.c\n ****** al_create_thread ******\n ALLEGRO_THREAD *al_create_thread(\n void *(*proc)(ALLEGRO_THREAD *thread, void *arg), void *arg)\n@@ -301,8 +298,8 @@\n ****** al_signal_cond ******\n void al_signal_cond(ALLEGRO_COND *cond)\n Source_Code\n Unblock at least one thread waiting on a condition variable.\n Generally you should use al_broadcast_cond but al_signal_cond may be more\n efficient when it\u00e2\u0080\u0099s applicable.\n See also: al_broadcast_cond.\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:57 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:13 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/time.html", "source2": "./usr/share/doc/allegro5-doc/refman/time.html", "unified_diff": "@@ -239,12 +239,12 @@\n
    • ex_timer_pause.c
    • \n
    • ex_mouse_focus.c
    • \n
    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:57 UTC\n+ - Last updated: 2024-01-07 09:01:13 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -89,8 +89,8 @@\n al_rest(0.000001)\n might pause for something like 10ms. Also see the section on Timer routines for\n easier ways to time your program without using up all CPU.\n Examples:\n * ex_keyboard_focus.c\n * ex_timer_pause.c\n * ex_mouse_focus.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:57 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:13 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/timer.html", "source2": "./usr/share/doc/allegro5-doc/refman/timer.html", "unified_diff": "@@ -183,58 +183,53 @@\n
  • al_get_timer_event_source
  • \n \n \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    ALLEGRO_TIMER

    \n-
    typedef struct ALLEGRO_TIMER ALLEGRO_TIMER;\n-typedef struct ALLEGRO_TIMER ALLEGRO_TIMER;
    \n+
    typedef struct ALLEGRO_TIMER ALLEGRO_TIMER;
    \n

    Source\n Code

    \n

    This is an abstract data type representing a timer object.

    \n

    Examples:

    \n
      \n
    • ex_enet_server.c
    • \n
    • ex_timer_pause.c
    • \n
    • ex_user_events.c
    • \n
    \n

    ALLEGRO_USECS_TO_SECS

    \n-
    #define ALLEGRO_USECS_TO_SECS(x)      ((x) / 1000000.0)\n-#define ALLEGRO_USECS_TO_SECS(x)      ((x) / 1000000.0)
    \n+
    #define ALLEGRO_USECS_TO_SECS(x)      ((x) / 1000000.0)
    \n

    Source\n Code

    \n

    Convert microseconds to seconds.

    \n

    ALLEGRO_MSECS_TO_SECS

    \n-
    #define ALLEGRO_MSECS_TO_SECS(x)      ((x) / 1000.0)\n-#define ALLEGRO_MSECS_TO_SECS(x)      ((x) / 1000.0)
    \n+
    #define ALLEGRO_MSECS_TO_SECS(x)      ((x) / 1000.0)
    \n

    Source\n Code

    \n

    Convert milliseconds to seconds.

    \n

    ALLEGRO_BPS_TO_SECS

    \n-
    #define ALLEGRO_BPS_TO_SECS(x)        (1.0 / (x))\n-#define ALLEGRO_BPS_TO_SECS(x)        (1.0 / (x))
    \n+
    #define ALLEGRO_BPS_TO_SECS(x)        (1.0 / (x))
    \n

    Source\n Code

    \n

    Convert beats per second to seconds.

    \n

    Examples:

    \n
      \n
    • ex_prim.c
    • \n
    \n

    ALLEGRO_BPM_TO_SECS

    \n-
    #define ALLEGRO_BPM_TO_SECS(x)        (60.0 / (x))\n-#define ALLEGRO_BPM_TO_SECS(x)        (60.0 / (x))
    \n+
    #define ALLEGRO_BPM_TO_SECS(x)        (60.0 / (x))
    \n

    Source\n Code

    \n

    Convert beats per minute to seconds.

    \n

    al_create_timer

    \n
    ALLEGRO_TIMER *al_create_timer(double speed_secs)
    \n

    ex_timer_pause.c\n

  • ex_user_events.c
  • \n \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:57 UTC\n+ - Last updated: 2024-01-07 09:01:14 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -64,41 +64,36 @@\n * al_get_timer_speed\n * al_set_timer_speed\n * al_get_timer_event_source\n These functions are declared in the main Allegro header file:\n #include \n ****** ALLEGRO_TIMER ******\n typedef struct ALLEGRO_TIMER ALLEGRO_TIMER;\n-typedef struct ALLEGRO_TIMER ALLEGRO_TIMER;\n Source_Code\n This is an abstract data type representing a timer object.\n Examples:\n * ex_enet_server.c\n * ex_timer_pause.c\n * ex_user_events.c\n ****** ALLEGRO_USECS_TO_SECS ******\n #define ALLEGRO_USECS_TO_SECS(x) ((x) / 1000000.0)\n-#define ALLEGRO_USECS_TO_SECS(x) ((x) / 1000000.0)\n Source_Code\n Convert microseconds to seconds.\n ****** ALLEGRO_MSECS_TO_SECS ******\n #define ALLEGRO_MSECS_TO_SECS(x) ((x) / 1000.0)\n-#define ALLEGRO_MSECS_TO_SECS(x) ((x) / 1000.0)\n Source_Code\n Convert milliseconds to seconds.\n ****** ALLEGRO_BPS_TO_SECS ******\n #define ALLEGRO_BPS_TO_SECS(x) (1.0 / (x))\n-#define ALLEGRO_BPS_TO_SECS(x) (1.0 / (x))\n Source_Code\n Convert beats per second to seconds.\n Examples:\n * ex_prim.c\n ****** ALLEGRO_BPM_TO_SECS ******\n #define ALLEGRO_BPM_TO_SECS(x) (60.0 / (x))\n-#define ALLEGRO_BPM_TO_SECS(x) (60.0 / (x))\n Source_Code\n Convert beats per minute to seconds.\n ****** al_create_timer ******\n ALLEGRO_TIMER *al_create_timer(double speed_secs)\n Source_Code\n Allocates and initializes a timer. If successful, a pointer to a new timer\n object is returned, otherwise NULL is returned. speed_secs is in seconds per\n@@ -204,8 +199,8 @@\n Source_Code\n Retrieve the associated event source. Timers will generate events of type\n ALLEGRO_EVENT_TIMER.\n Examples:\n * ex_enet_server.c\n * ex_timer_pause.c\n * ex_user_events.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:57 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:14 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/touch.html", "source2": "./usr/share/doc/allegro5-doc/refman/touch.html", "unified_diff": "@@ -188,34 +188,31 @@\n
  • al_get_touch_input_mouse_emulation_event_source
  • \n \n \n

    These functions are declared in the main Allegro header file:

    \n
     #include <allegro5/allegro.h>
    \n

    ALLEGRO_TOUCH_INPUT

    \n-
    typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT;\n-typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT;
    \n+
    typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT;
    \n

    Source\n Code

    \n

    An abstract data type representing a physical touch screen or touch\n pad.

    \n

    Since: 5.1.0

    \n ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT\n-
    #define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT        16\n-#define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT        16
    \n+
    #define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT        16
    \n

    Source\n Code

    \n

    The maximum amount of simultaneous touches that can be detected.

    \n

    Since: 5.1.0

    \n

    ALLEGRO_TOUCH_STATE

    \n-
    typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE;\n-typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE;
    \n+
    typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE;
    \n

    Source\n Code

    \n

    This is a structure that is used to hold a \u201csnapshot\u201d of a touch at a\n particular instant.

    \n

    Public fields (read only):

    \n
      \n@@ -229,30 +226,28 @@\n one).\n
    • display - The ALLEGRO_DISPLAY that was\n touched.
    • \n
    \n

    Since: 5.1.0

    \n

    ALLEGRO_TOUCH_INPUT_STATE

    \n-
    typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE;\n-typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE;
    \n+
    typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE;
    \n

    Source\n Code

    \n

    This is a structure that holds a snapshot of all simultaneous touches\n at a particular instant.

    \n

    Public fields (read only):

    \n
      \n
    • touches - an array of ALLEGRO_TOUCH_STATE
    • \n
    \n

    Since: 5.1.0

    \n

    ALLEGRO_MOUSE_EMULATION_MODE

    \n-
    typedef enum ALLEGRO_MOUSE_EMULATION_MODE\n-typedef enum ALLEGRO_MOUSE_EMULATION_MODE
    \n+
    typedef enum ALLEGRO_MOUSE_EMULATION_MODE
    \n

    Source\n Code

    \n

    Type of mouse emulation to apply.

    \n
    \n
    ALLEGRO_MOUSE_EMULATION_NONE
    \n
    \n@@ -426,12 +421,12 @@\n
  • ex_haiku.c
  • \n
  • ex_prim_shader.c
  • \n \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:57 UTC\n+ - Last updated: 2024-01-07 09:01:14 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -60,51 +60,46 @@\n * al_get_mouse_emulation_mode\n * al_get_touch_input_event_source\n * al_get_touch_input_mouse_emulation_event_source\n These functions are declared in the main Allegro header file:\n #include \n ****** ALLEGRO_TOUCH_INPUT ******\n typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT;\n-typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT;\n Source_Code\n An abstract data type representing a physical touch screen or touch pad.\n Since: 5.1.0\n ****** ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT ******\n #define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT 16\n-#define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT 16\n Source_Code\n The maximum amount of simultaneous touches that can be detected.\n Since: 5.1.0\n ****** ALLEGRO_TOUCH_STATE ******\n typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE;\n-typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE;\n Source_Code\n This is a structure that is used to hold a \u00e2\u0080\u009csnapshot\u00e2\u0080\u009d of a touch at a\n particular instant.\n Public fields (read only):\n * id - identifier of the touch. If the touch is valid, this is positive.\n * x - touch x position\n * y - touch y position\n * dx - touch relative x position\n * dy - touch relative y position\n * primary - TRUE if this touch is the primary one (usually the first one).\n * display - The ALLEGRO_DISPLAY that was touched.\n Since: 5.1.0\n ****** ALLEGRO_TOUCH_INPUT_STATE ******\n typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE;\n-typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE;\n Source_Code\n This is a structure that holds a snapshot of all simultaneous touches at a\n particular instant.\n Public fields (read only):\n * touches - an array of ALLEGRO_TOUCH_STATE\n Since: 5.1.0\n ****** ALLEGRO_MOUSE_EMULATION_MODE ******\n typedef enum ALLEGRO_MOUSE_EMULATION_MODE\n-typedef enum ALLEGRO_MOUSE_EMULATION_MODE\n Source_Code\n Type of mouse emulation to apply.\n ALLEGRO_MOUSE_EMULATION_NONE\n Disables mouse emulation.\n ALLEGRO_MOUSE_EMULATION_TRANSPARENT\n Enables transparent mouse emulation.\n ALLEGRO_MOUSE_EMULATION_INCLUSIVE\n@@ -189,8 +184,8 @@\n Since: 5.1.0\n Unstable_API: Seems of limited value, as touch input tends to have\n different semantics compared to mouse input.\n Examples:\n * ex_lockbitmap.c\n * ex_haiku.c\n * ex_prim_shader.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:57 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:14 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/transformations.html", "source2": "./usr/share/doc/allegro5-doc/refman/transformations.html", "unified_diff": "@@ -278,16 +278,15 @@\n al_use_transform(&T);\n

    it does exactly the same as:

    \n
    al_identity_transform(&T);\n al_scale_transform(&T, 2, 2);\n al_translate_transform(&T, 100, 0);\n al_use_transform(&T);
    \n

    ALLEGRO_TRANSFORM

    \n-
    typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM;\n-typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM;
    \n+
    typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM;
    \n

    Source\n Code

    \n

    Defines the generic transformation type, a 4x4 matrix. 2D transforms\n use only a small subsection of this matrix, namely the top left 2x2\n matrix, and the right most 2x1 matrix, for a total of 6 values.

    \n

    Fields:

    \n@@ -1060,12 +1059,12 @@\n
  • theta - Rotation angle in radians
  • \n \n

    Since: 5.1.7

    \n

    See also: al_horizontal_shear_transform

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:57 UTC\n+ - Last updated: 2024-01-07 09:01:14 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -134,15 +134,14 @@\n it does exactly the same as:\n al_identity_transform(&T);\n al_scale_transform(&T, 2, 2);\n al_translate_transform(&T, 100, 0);\n al_use_transform(&T);\n ****** ALLEGRO_TRANSFORM ******\n typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM;\n-typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM;\n Source_Code\n Defines the generic transformation type, a 4x4 matrix. 2D transforms use only a\n small subsection of this matrix, namely the top left 2x2 matrix, and the right\n most 2x1 matrix, for a total of 6 values.\n Fields:\n * m - A 4x4 float matrix\n Examples:\n@@ -638,8 +637,8 @@\n Source_Code\n Apply a vertical shear to the transform\n Parameters:\n * trans - Transformation to alter\n * theta - Rotation angle in radians\n Since: 5.1.7\n See also: al_horizontal_shear_transform\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:57 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:14 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/utf8.html", "source2": "./usr/share/doc/allegro5-doc/refman/utf8.html", "unified_diff": "@@ -358,16 +358,15 @@\n

    For actual text processing, where you want to specify positions with\n code point indices, you should use al_ustr_offset to find the code unit\n offset position. However, most of the time you would probably just work\n with byte offsets.

    \n

    UTF-8 string types

    \n

    ALLEGRO_USTR

    \n-
    typedef struct _al_tagbstring ALLEGRO_USTR;\n-typedef struct _al_tagbstring ALLEGRO_USTR;
    \n+
    typedef struct _al_tagbstring ALLEGRO_USTR;
    \n

    Source\n Code

    \n

    An opaque type representing a string. ALLEGRO_USTRs normally contain\n UTF-8 encoded strings, but they may be used to hold any byte sequences,\n including NULs.

    \n

    Examples:

    \n@@ -376,16 +375,15 @@\n href=\"https://github.com/liballeg/allegro5/blob/master/examples/ex_font_multiline.cpp#L248\">ex_font_multiline.cpp\n
  • nihgui.cpp
  • \n
  • ex_blend.c
  • \n \n

    ALLEGRO_USTR_INFO

    \n-
    typedef struct _al_tagbstring ALLEGRO_USTR_INFO;\n-typedef struct _al_tagbstring ALLEGRO_USTR_INFO;
    \n+
    typedef struct _al_tagbstring ALLEGRO_USTR_INFO;
    \n

    Source\n Code

    \n

    A type that holds additional information for an ALLEGRO_USTR that references an\n external memory buffer.

    \n

    See also: al_ref_cstr, \n

    Returns the number of bytes written, which is the same as that\n returned by al_utf16_width.

    \n

    See also: al_utf8_encode, al_ustr_encode_utf16

    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:57 UTC\n+ - Last updated: 2024-01-07 09:01:14 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -195,26 +195,24 @@\n actually store arbitrary data in the ALLEGRO_USTRs.)\n For actual text processing, where you want to specify positions with code point\n indices, you should use al_ustr_offset to find the code unit offset position.\n However, most of the time you would probably just work with byte offsets.\n ****** UTF-8 string types ******\n ***** ALLEGRO_USTR *****\n typedef struct _al_tagbstring ALLEGRO_USTR;\n-typedef struct _al_tagbstring ALLEGRO_USTR;\n Source_Code\n An opaque type representing a string. ALLEGRO_USTRs normally contain UTF-\n 8 encoded strings, but they may be used to hold any byte sequences, including\n NULs.\n Examples:\n * ex_font_multiline.cpp\n * nihgui.cpp\n * ex_blend.c\n ***** ALLEGRO_USTR_INFO *****\n typedef struct _al_tagbstring ALLEGRO_USTR_INFO;\n-typedef struct _al_tagbstring ALLEGRO_USTR_INFO;\n Source_Code\n A type that holds additional information for an ALLEGRO_USTR that references an\n external memory buffer.\n See also: al_ref_cstr, al_ref_buffer and al_ref_ustr.\n Examples:\n * ex_font_multiline.cpp\n * nihgui.cpp\n@@ -917,8 +915,8 @@\n Source_Code\n Encode the specified code point to UTF-16 into the buffer s. The buffer must\n have enough space to hold the encoding, which takes either 2 or 4 bytes. This\n routine will refuse to encode code points above 0x10FFFF.\n Returns the number of bytes written, which is the same as that returned by\n al_utf16_width.\n See also: al_utf8_encode, al_ustr_encode_utf16\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:57 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:14 UTC\n"}]}, {"source1": "./usr/share/doc/allegro5-doc/refman/video.html", "source2": "./usr/share/doc/allegro5-doc/refman/video.html", "unified_diff": "@@ -205,16 +205,15 @@\n allegro_video.

    \n
     #include <allegro5/allegro_video.h>
    \n

    Currently we have an Ogg backend (Theora + Vorbis). See http://xiph.org/ for\n installation instructions, licensing information and supported video\n formats.

    \n

    ALLEGRO_VIDEO_EVENT_TYPE

    \n-
    enum ALLEGRO_VIDEO_EVENT_TYPE\n-enum ALLEGRO_VIDEO_EVENT_TYPE
    \n+
    enum ALLEGRO_VIDEO_EVENT_TYPE
    \n

    Source\n Code

    \n

    Events sent by al_get_video_event_source.

    \n ALLEGRO_EVENT_VIDEO_FRAME_SHOW\n@@ -239,16 +238,15 @@\n
    user.data1 (ALLEGRO_VIDEO *)
    \n
    \n The video which generated the event.\n
    \n
    \n

    Since: 5.1.0

    \n

    ALLEGRO_VIDEO_POSITION_TYPE

    \n-
    typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE;\n-typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE;
    \n+
    typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE;
    \n

    Source\n Code

    \n

    Used with al_get_video_position to\n specify which position to retrieve. If these get out of sync, audio and\n video may be out of sync in the display of the video.

    \n@@ -262,86 +260,79 @@\n
  • ALLEGRO_VIDEO_POSITION_AUDIO_DECODE - The amount of audio that\n has been decoded. This may be the same as ALLEGRO_VIDEO_POSITION_ACTUAL\n if audio decode is driving the position, which is common to keep audio\n and video in sync.

  • \n \n

    Since: 5.1.11

    \n

    al_init_video_addon

    \n-
    bool al_init_video_addon(void)\n-bool al_init_video_addon(void)
    \n+
    bool al_init_video_addon(void)
    \n

    Source\n Code

    \n

    Initializes the video addon.

    \n

    Since: 5.1.12

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n al_is_video_addon_initialized\n-
    bool al_is_video_addon_initialized(void)\n-bool al_is_video_addon_initialized(void)
    \n+
    bool al_is_video_addon_initialized(void)
    \n

    Source\n Code

    \n

    Returns true if the video addon is initialized, otherwise returns\n false.

    \n

    Since: 5.2.6

    \n

    al_shutdown_video_addon

    \n-
    void al_shutdown_video_addon(void)\n-void al_shutdown_video_addon(void)
    \n+
    void al_shutdown_video_addon(void)
    \n

    Source\n Code

    \n

    Shut down the video addon. This is done automatically at program\n exit, but can be called any time the user wishes as well.

    \n

    Since: 5.1.12

    \n

    al_get_allegro_video_version

    \n-
    uint32_t al_get_allegro_video_version(void)\n-uint32_t al_get_allegro_video_version(void)
    \n+
    uint32_t al_get_allegro_video_version(void)
    \n

    Source\n Code

    \n

    Returns the (compiled) version of the addon, in the same format as al_get_allegro_version.

    \n

    Since: 5.1.12

    \n

    al_open_video

    \n-
    ALLEGRO_VIDEO *al_open_video(char const *filename)\n-ALLEGRO_VIDEO *al_open_video(char const *filename)
    \n+
    ALLEGRO_VIDEO *al_open_video(char const *filename)
    \n

    Source\n Code

    \n

    Reads a video file. This does not start streaming yet but reads the\n meta info so you can query e.g.\u00a0the size or audio rate.

    \n

    Since: 5.1.0

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_identify_video

    \n-
    char const *al_identify_video(char const *filename)\n-char const *al_identify_video(char const *filename)
    \n+
    char const *al_identify_video(char const *filename)
    \n

    Source\n Code

    \n

    This works exactly as al_identify_video_f but you\n specify the filename of the file for which to detect the type and not a\n file handle. The extension, if any, of the passed filename is not taken\n into account - only the file contents.

    \n

    Since: 5.2.8

    \n

    See also: al_init_video_addon, al_identify_video_f

    \n

    al_identify_video_f

    \n-
    char const *al_identify_video_f(ALLEGRO_FILE *fp)\n-char const *al_identify_video_f(ALLEGRO_FILE *fp)
    \n+
    char const *al_identify_video_f(ALLEGRO_FILE *fp)
    \n

    Source\n Code

    \n

    Tries to guess the video file type of the open ALLEGRO_FILE by\n reading the first few bytes. By default Allegro cannot recognize any\n file types, but calling al_init_video_addon will add\n@@ -350,120 +341,111 @@\n type, including the leading dot. For example \u201c.ogv\u201d. Returns NULL if the\n video type cannot be determined.

    \n

    Since: 5.2.8

    \n

    See also: al_init_video_addon, al_identify_video

    \n

    al_close_video

    \n-
    void al_close_video(ALLEGRO_VIDEO *video)\n-void al_close_video(ALLEGRO_VIDEO *video)
    \n+
    void al_close_video(ALLEGRO_VIDEO *video)
    \n

    Source\n Code

    \n

    Closes the video and frees all allocated resources. The video pointer\n is invalid after the function returns.

    \n

    Since: 5.1.0

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_start_video

    \n-
    void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer)\n-void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer)
    \n+
    void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer)
    \n

    Source\n Code

    \n

    Starts streaming the video from the beginning.

    \n

    Since: 5.1.0

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_start_video_with_voice

    \n-
    void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice)\n-void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice)
    \n+
    void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice)
    \n

    Source\n Code

    \n

    Like al_start_video but audio\n is routed to the provided voice.

    \n

    Since: 5.1.0

    \n

    al_get_video_event_source

    \n-
    ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video)\n-ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video)
    \n+
    ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video)
    \n

    Source\n Code

    \n

    Get an event source for the video. The possible events are described\n under ALLEGRO_VIDEO_EVENT_TYPE.

    \n

    Since: 5.1.0

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_set_video_playing

    \n-
    void al_set_video_playing(ALLEGRO_VIDEO *video, bool play)\n-void al_set_video_playing(ALLEGRO_VIDEO *video, bool play)
    \n+
    void al_set_video_playing(ALLEGRO_VIDEO *video, bool play)
    \n

    Source\n Code

    \n

    Paused or resumes playback.

    \n

    Since: 5.1.12

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_is_video_playing

    \n-
    bool al_is_video_playing(ALLEGRO_VIDEO *video)\n-bool al_is_video_playing(ALLEGRO_VIDEO *video)
    \n+
    bool al_is_video_playing(ALLEGRO_VIDEO *video)
    \n

    Source\n Code

    \n

    Returns true if the video is currently playing.

    \n

    Since: 5.1.12

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_get_video_audio_rate

    \n-
    double al_get_video_audio_rate(ALLEGRO_VIDEO *video)\n-double al_get_video_audio_rate(ALLEGRO_VIDEO *video)
    \n+
    double al_get_video_audio_rate(ALLEGRO_VIDEO *video)
    \n

    Source\n Code

    \n

    Returns the audio rate of the video, in Hz.

    \n

    Since: 5.1.0

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_get_video_fps

    \n-
    double al_get_video_fps(ALLEGRO_VIDEO *video)\n-double al_get_video_fps(ALLEGRO_VIDEO *video)
    \n+
    double al_get_video_fps(ALLEGRO_VIDEO *video)
    \n

    Source\n Code

    \n

    Returns the speed of the video in frames per second. Often this will\n not be an integer value.

    \n

    Since: 5.1.0

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_get_video_scaled_width

    \n-
    float al_get_video_scaled_width(ALLEGRO_VIDEO *video)\n-float al_get_video_scaled_width(ALLEGRO_VIDEO *video)
    \n+
    float al_get_video_scaled_width(ALLEGRO_VIDEO *video)
    \n

    Source\n Code

    \n

    Returns the width with which the video frame should be drawn. Videos\n often do not use square pixels, so this will may return a value larger\n than the width of the frame bitmap.

    \n

    Since: 5.1.12

    \n@@ -471,16 +453,15 @@\n href=\"video.html#al_get_video_frame\">al_get_video_frame

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_get_video_scaled_height

    \n-
    float al_get_video_scaled_height(ALLEGRO_VIDEO *video)\n-float al_get_video_scaled_height(ALLEGRO_VIDEO *video)
    \n+
    float al_get_video_scaled_height(ALLEGRO_VIDEO *video)
    \n

    Source\n Code

    \n

    Returns the height with which the video frame should be drawn. Videos\n often do not use square pixels, so this will may return a value larger\n than the height of the frame bitmap.

    \n

    See also: Since: 5.1.12

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_get_video_frame

    \n-
    ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video)\n-ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video)
    \n+
    ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video)
    \n

    Source\n Code

    \n

    Returns the current video frame. The bitmap is owned by the video so\n do not attempt to free it. The bitmap will stay valid until the next\n call to al_get_video_frame.

    \n

    Videos often do not use square pixels so the recommended way to draw\n@@ -516,43 +496,41 @@\n href=\"video.html#al_get_video_scaled_height\">al_get_video_scaled_height

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_get_video_position

    \n-
    double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE which)\n-double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE which)
    \n+
    double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE which)
    \n

    Source\n Code

    \n

    Returns the current position of the video stream in seconds since the\n beginning. The parameter is one of the ALLEGRO_VIDEO_POSITION_TYPE\n constants.

    \n

    Since: 5.1.0

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    al_seek_video

    \n-
    bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds)\n-bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds)
    \n+
    bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds)
    \n

    Source\n Code

    \n

    Seek to a different position in the video. Currently only seeking to\n the beginning of the video is supported.

    \n

    Since: 5.1.0

    \n

    Examples:

    \n
      \n
    • ex_video.c
    • \n
    \n

    \n Allegro version 5.2.8\n- - Last updated: 2025-02-08 15:21:59 UTC\n+ - Last updated: 2024-01-07 09:01:17 UTC\n

    \n \n \n \n", "details": [{"source1": "html2text {}", "source2": "html2text {}", "unified_diff": "@@ -74,15 +74,14 @@\n These functions are declared in the following header file. Link with\n allegro_video.\n #include \n Currently we have an Ogg backend (Theora + Vorbis). See http://xiph.org/ for\n installation instructions, licensing information and supported video formats.\n ****** ALLEGRO_VIDEO_EVENT_TYPE ******\n enum ALLEGRO_VIDEO_EVENT_TYPE\n-enum ALLEGRO_VIDEO_EVENT_TYPE\n Source_Code\n Events sent by al_get_video_event_source.\n ***** ALLEGRO_EVENT_VIDEO_FRAME_SHOW *****\n This event is sent when it is time to show a new frame. Once you receive this\n event, you can draw the current frame (as returned by al_get_video_frame).\n al_get_video_frame will continue returning the same frame until the next\n ALLEGRO_EVENT_VIDEO_FRAME_SHOW is sent.\n@@ -94,15 +93,14 @@\n be possible to seek to an earlier part of the video and set the video to play\n to resume playback.\n user.data1 (ALLEGRO_VIDEO *)\n The video which generated the event.\n Since: 5.1.0\n ****** ALLEGRO_VIDEO_POSITION_TYPE ******\n typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE;\n-typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE;\n Source_Code\n Used with al_get_video_position to specify which position to retrieve. If these\n get out of sync, audio and video may be out of sync in the display of the\n video.\n * ALLEGRO_VIDEO_POSITION_ACTUAL - The amount of time the video has been\n playing. If the video has audio then this value can be ahead of\n ALLEGRO_VIDEO_POSITION_VIDEO_DECODE when video decoding lags.\n@@ -112,160 +110,142 @@\n * ALLEGRO_VIDEO_POSITION_AUDIO_DECODE - The amount of audio that has been\n decoded. This may be the same as ALLEGRO_VIDEO_POSITION_ACTUAL if audio\n decode is driving the position, which is common to keep audio and video\n in sync.\n Since: 5.1.11\n ****** al_init_video_addon ******\n bool al_init_video_addon(void)\n-bool al_init_video_addon(void)\n Source_Code\n Initializes the video addon.\n Since: 5.1.12\n Examples:\n * ex_video.c\n ****** al_is_video_addon_initialized ******\n bool al_is_video_addon_initialized(void)\n-bool al_is_video_addon_initialized(void)\n Source_Code\n Returns true if the video addon is initialized, otherwise returns false.\n Since: 5.2.6\n ****** al_shutdown_video_addon ******\n void al_shutdown_video_addon(void)\n-void al_shutdown_video_addon(void)\n Source_Code\n Shut down the video addon. This is done automatically at program exit, but can\n be called any time the user wishes as well.\n Since: 5.1.12\n ****** al_get_allegro_video_version ******\n uint32_t al_get_allegro_video_version(void)\n-uint32_t al_get_allegro_video_version(void)\n Source_Code\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version.\n Since: 5.1.12\n ****** al_open_video ******\n ALLEGRO_VIDEO *al_open_video(char const *filename)\n-ALLEGRO_VIDEO *al_open_video(char const *filename)\n Source_Code\n Reads a video file. This does not start streaming yet but reads the meta info\n so you can query e.g.\u00c2\u00a0the size or audio rate.\n Since: 5.1.0\n Examples:\n * ex_video.c\n ****** al_identify_video ******\n char const *al_identify_video(char const *filename)\n-char const *al_identify_video(char const *filename)\n Source_Code\n This works exactly as al_identify_video_f but you specify the filename of the\n file for which to detect the type and not a file handle. The extension, if any,\n of the passed filename is not taken into account - only the file contents.\n Since: 5.2.8\n See also: al_init_video_addon, al_identify_video_f\n ****** al_identify_video_f ******\n char const *al_identify_video_f(ALLEGRO_FILE *fp)\n-char const *al_identify_video_f(ALLEGRO_FILE *fp)\n Source_Code\n Tries to guess the video file type of the open ALLEGRO_FILE by reading the\n first few bytes. By default Allegro cannot recognize any file types, but\n calling al_init_video_addon will add detection of the types it can read.\n Returns a pointer to a static string with a file extension for the type,\n including the leading dot. For example \u00e2\u0080\u009c.ogv\u00e2\u0080\u009d. Returns NULL if the video\n type cannot be determined.\n Since: 5.2.8\n See also: al_init_video_addon, al_identify_video\n ****** al_close_video ******\n void al_close_video(ALLEGRO_VIDEO *video)\n-void al_close_video(ALLEGRO_VIDEO *video)\n Source_Code\n Closes the video and frees all allocated resources. The video pointer is\n invalid after the function returns.\n Since: 5.1.0\n Examples:\n * ex_video.c\n ****** al_start_video ******\n void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer)\n-void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer)\n Source_Code\n Starts streaming the video from the beginning.\n Since: 5.1.0\n Examples:\n * ex_video.c\n ****** al_start_video_with_voice ******\n void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice)\n-void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice)\n Source_Code\n Like al_start_video but audio is routed to the provided voice.\n Since: 5.1.0\n ****** al_get_video_event_source ******\n ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video)\n-ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video)\n Source_Code\n Get an event source for the video. The possible events are described under\n ALLEGRO_VIDEO_EVENT_TYPE.\n Since: 5.1.0\n Examples:\n * ex_video.c\n ****** al_set_video_playing ******\n void al_set_video_playing(ALLEGRO_VIDEO *video, bool play)\n-void al_set_video_playing(ALLEGRO_VIDEO *video, bool play)\n Source_Code\n Paused or resumes playback.\n Since: 5.1.12\n Examples:\n * ex_video.c\n ****** al_is_video_playing ******\n bool al_is_video_playing(ALLEGRO_VIDEO *video)\n-bool al_is_video_playing(ALLEGRO_VIDEO *video)\n Source_Code\n Returns true if the video is currently playing.\n Since: 5.1.12\n Examples:\n * ex_video.c\n ****** al_get_video_audio_rate ******\n double al_get_video_audio_rate(ALLEGRO_VIDEO *video)\n-double al_get_video_audio_rate(ALLEGRO_VIDEO *video)\n Source_Code\n Returns the audio rate of the video, in Hz.\n Since: 5.1.0\n Examples:\n * ex_video.c\n ****** al_get_video_fps ******\n double al_get_video_fps(ALLEGRO_VIDEO *video)\n-double al_get_video_fps(ALLEGRO_VIDEO *video)\n Source_Code\n Returns the speed of the video in frames per second. Often this will not be an\n integer value.\n Since: 5.1.0\n Examples:\n * ex_video.c\n ****** al_get_video_scaled_width ******\n float al_get_video_scaled_width(ALLEGRO_VIDEO *video)\n-float al_get_video_scaled_width(ALLEGRO_VIDEO *video)\n Source_Code\n Returns the width with which the video frame should be drawn. Videos often do\n not use square pixels, so this will may return a value larger than the width of\n the frame bitmap.\n Since: 5.1.12\n See also: al_get_video_frame\n Examples:\n * ex_video.c\n ****** al_get_video_scaled_height ******\n float al_get_video_scaled_height(ALLEGRO_VIDEO *video)\n-float al_get_video_scaled_height(ALLEGRO_VIDEO *video)\n Source_Code\n Returns the height with which the video frame should be drawn. Videos often do\n not use square pixels, so this will may return a value larger than the height\n of the frame bitmap.\n See also: al_get_video_frame\n Since: 5.1.12\n Examples:\n * ex_video.c\n ****** al_get_video_frame ******\n ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video)\n-ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video)\n Source_Code\n Returns the current video frame. The bitmap is owned by the video so do not\n attempt to free it. The bitmap will stay valid until the next call to\n al_get_video_frame.\n Videos often do not use square pixels so the recommended way to draw a video\n frame would be using code like this:\n float scale = 1.0; /* Adjust this to fit your target bitmap dimensions. */\n@@ -278,25 +258,22 @@\n Since: 5.1.0\n See also: al_get_video_scaled_width, al_get_video_scaled_height\n Examples:\n * ex_video.c\n ****** al_get_video_position ******\n double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE\n which)\n-double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE\n-which)\n Source_Code\n Returns the current position of the video stream in seconds since the\n beginning. The parameter is one of the ALLEGRO_VIDEO_POSITION_TYPE constants.\n Since: 5.1.0\n Examples:\n * ex_video.c\n ****** al_seek_video ******\n bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds)\n-bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds)\n Source_Code\n Seek to a different position in the video. Currently only seeking to the\n beginning of the video is supported.\n Since: 5.1.0\n Examples:\n * ex_video.c\n-Allegro version 5.2.8 - Last updated: 2025-02-08 15:21:59 UTC\n+Allegro version 5.2.8 - Last updated: 2024-01-07 09:01:17 UTC\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_AUDIO_DEPTH.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_AUDIO_DEPTH.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_AUDIO_DEPTH.3alleg5", "source2": "ALLEGRO_AUDIO_DEPTH.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n enum ALLEGRO_AUDIO_DEPTH\n-enum ALLEGRO_AUDIO_DEPTH\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Sample depth and type as well as signedness.\n Mixers only use 32-bit signed float (-1..+1), or 16-bit signed integers.\n Signedness is determined by an \\[lq]unsigned\\[rq] bit-flag applied to\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_AUDIO_DEVICE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_AUDIO_DEVICE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_AUDIO_DEVICE.3alleg5", "source2": "ALLEGRO_AUDIO_DEVICE.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_AUDIO_DEVICE ALLEGRO_AUDIO_DEVICE;\n-typedef struct ALLEGRO_AUDIO_DEVICE ALLEGRO_AUDIO_DEVICE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An opaque datatype that represents an audio device.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_AUDIO_EVENT_TYPE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_AUDIO_EVENT_TYPE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_AUDIO_EVENT_TYPE.3alleg5", "source2": "ALLEGRO_AUDIO_EVENT_TYPE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n enum ALLEGRO_AUDIO_EVENT_TYPE\n-enum ALLEGRO_AUDIO_EVENT_TYPE\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Events sent by al_get_audio_stream_event_source(3alleg5) or\n al_get_audio_recorder_event_source(3alleg5).\n .SS ALLEGRO_EVENT_AUDIO_STREAM_FRAGMENT\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_AUDIO_PAN_NONE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_AUDIO_PAN_NONE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_AUDIO_PAN_NONE.3alleg5", "source2": "ALLEGRO_AUDIO_PAN_NONE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_AUDIO_PAN_NONE (-1000.0f)\n-#define ALLEGRO_AUDIO_PAN_NONE (-1000.0f)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A special value for the pan property of sample instances and audio\n streams.\n Use this value to disable panning on sample instances and audio streams,\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_AUDIO_RECORDER.3alleg5", "source2": "ALLEGRO_AUDIO_RECORDER.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER;\n-typedef struct ALLEGRO_AUDIO_RECORDER ALLEGRO_AUDIO_RECORDER;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An opaque datatype that represents a recording device.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER_EVENT.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_AUDIO_RECORDER_EVENT.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_AUDIO_RECORDER_EVENT.3alleg5", "source2": "ALLEGRO_AUDIO_RECORDER_EVENT.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT;\n-typedef struct ALLEGRO_AUDIO_RECORDER_EVENT ALLEGRO_AUDIO_RECORDER_EVENT;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Structure that holds the audio recorder event data.\n Every event type will contain:\n .IP \\[bu] 2\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_AUDIO_STREAM.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_AUDIO_STREAM.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_AUDIO_STREAM.3alleg5", "source2": "ALLEGRO_AUDIO_STREAM.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM;\n-typedef struct ALLEGRO_AUDIO_STREAM ALLEGRO_AUDIO_STREAM;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An ALLEGRO_AUDIO_STREAM object is used to stream generated audio to the\n sound device, in real-time.\n This is done by reading from a buffer, which is split into a number of\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_BITMAP.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_BITMAP.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_BITMAP.3alleg5", "source2": "ALLEGRO_BITMAP.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP;\n-typedef struct ALLEGRO_BITMAP ALLEGRO_BITMAP;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Abstract type representing a bitmap (2D image).\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_BITMAP_WRAP.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_BITMAP_WRAP.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_BITMAP_WRAP.3alleg5", "source2": "ALLEGRO_BITMAP_WRAP.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_BITMAP_WRAP {\n-typedef enum ALLEGRO_BITMAP_WRAP {\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Controls the how the pixel color is determined from a texture querying\n the texture coordinates are outside the usual bounds.\n .IP \\[bu] 2\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_BPM_TO_SECS.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_BPM_TO_SECS.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_BPM_TO_SECS.3alleg5", "source2": "ALLEGRO_BPM_TO_SECS.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_BPM_TO_SECS(x) (60.0 / (x))\n-#define ALLEGRO_BPM_TO_SECS(x) (60.0 / (x))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert beats per minute to seconds.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_BPS_TO_SECS.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_BPS_TO_SECS.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_BPS_TO_SECS.3alleg5", "source2": "ALLEGRO_BPS_TO_SECS.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_BPS_TO_SECS(x) (1.0 / (x))\n-#define ALLEGRO_BPS_TO_SECS(x) (1.0 / (x))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert beats per second to seconds.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_CHANNEL_CONF.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_CHANNEL_CONF.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_CHANNEL_CONF.3alleg5", "source2": "ALLEGRO_CHANNEL_CONF.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n enum ALLEGRO_CHANNEL_CONF\n-enum ALLEGRO_CHANNEL_CONF\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Speaker configuration (mono, stereo, 2.1, etc).\n .IP \\[bu] 2\n ALLEGRO_CHANNEL_CONF_1\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_COLOR.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_COLOR.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_COLOR.3alleg5", "source2": "ALLEGRO_COLOR.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_COLOR ALLEGRO_COLOR;\n-typedef struct ALLEGRO_COLOR ALLEGRO_COLOR;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An ALLEGRO_COLOR structure describes a color in a device independent\n way.\n Use al_map_rgb(3alleg5) et al.\\ and al_unmap_rgb(3alleg5) et al.\\ to\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_COND.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_COND.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_COND.3alleg5", "source2": "ALLEGRO_COND.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_COND ALLEGRO_COND;\n-typedef struct ALLEGRO_COND ALLEGRO_COND;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An opaque structure representing a condition variable.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_CONFIG.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_CONFIG.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_CONFIG.3alleg5", "source2": "ALLEGRO_CONFIG.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_CONFIG ALLEGRO_CONFIG;\n-typedef struct ALLEGRO_CONFIG ALLEGRO_CONFIG;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An abstract configuration structure.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_CONFIG_ENTRY.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_CONFIG_ENTRY.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_CONFIG_ENTRY.3alleg5", "source2": "ALLEGRO_CONFIG_ENTRY.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_CONFIG_ENTRY ALLEGRO_CONFIG_ENTRY;\n-typedef struct ALLEGRO_CONFIG_ENTRY ALLEGRO_CONFIG_ENTRY;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An opaque structure used for iterating across entries in a configuration\n section.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_CONFIG_SECTION.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_CONFIG_SECTION.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_CONFIG_SECTION.3alleg5", "source2": "ALLEGRO_CONFIG_SECTION.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_CONFIG_SECTION ALLEGRO_CONFIG_SECTION;\n-typedef struct ALLEGRO_CONFIG_SECTION ALLEGRO_CONFIG_SECTION;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An opaque structure used for iterating across sections in a\n configuration structure.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_DISPLAY.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_DISPLAY.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_DISPLAY.3alleg5", "source2": "ALLEGRO_DISPLAY.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_DISPLAY ALLEGRO_DISPLAY;\n-typedef struct ALLEGRO_DISPLAY ALLEGRO_DISPLAY;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An opaque type representing an open display or window.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_DISPLAY_MODE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_DISPLAY_MODE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_DISPLAY_MODE.3alleg5", "source2": "ALLEGRO_DISPLAY_MODE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_DISPLAY_MODE\n-typedef struct ALLEGRO_DISPLAY_MODE\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Used for fullscreen mode queries.\n Contains information about a supported fullscreen modes.\n .IP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_EVENT.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_EVENT.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_EVENT.3alleg5", "source2": "ALLEGRO_EVENT.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef union ALLEGRO_EVENT ALLEGRO_EVENT;\n-typedef union ALLEGRO_EVENT ALLEGRO_EVENT;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An ALLEGRO_EVENT is a union of all builtin event structures, i.e.\\ it is\n an object large enough to hold the data of any event type.\n All events have the following fields in common:\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_EVENT_QUEUE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_EVENT_QUEUE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_EVENT_QUEUE.3alleg5", "source2": "ALLEGRO_EVENT_QUEUE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE;\n-typedef struct ALLEGRO_EVENT_QUEUE ALLEGRO_EVENT_QUEUE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An event queue holds events that have been generated by event sources\n that are registered with the queue.\n Events are stored in the order they are generated.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_EVENT_SOURCE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_EVENT_SOURCE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_EVENT_SOURCE.3alleg5", "source2": "ALLEGRO_EVENT_SOURCE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE;\n-typedef struct ALLEGRO_EVENT_SOURCE ALLEGRO_EVENT_SOURCE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An event source is any object which can generate events.\n For example, an ALLEGRO_DISPLAY can generate events, and you can get the\n ALLEGRO_EVENT_SOURCE pointer from an ALLEGRO_DISPLAY with\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_EVENT_TYPE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_EVENT_TYPE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_EVENT_TYPE.3alleg5", "source2": "ALLEGRO_EVENT_TYPE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef unsigned int ALLEGRO_EVENT_TYPE;\n-typedef unsigned int ALLEGRO_EVENT_TYPE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An integer used to distinguish between different types of events.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_EVENT_TYPE_IS_USER.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_EVENT_TYPE_IS_USER.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_EVENT_TYPE_IS_USER.3alleg5", "source2": "ALLEGRO_EVENT_TYPE_IS_USER.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_EVENT_TYPE_IS_USER(t) ((t) >= 512)\n-#define ALLEGRO_EVENT_TYPE_IS_USER(t) ((t) >= 512)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A macro which evaluates to true if the event type is not a builtin event\n type, i.e.\\ one of those described in ALLEGRO_EVENT_TYPE(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_FILE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_FILE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_FILE.3alleg5", "source2": "ALLEGRO_FILE.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_FILE ALLEGRO_FILE;\n-typedef struct ALLEGRO_FILE ALLEGRO_FILE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An opaque object representing an open file.\n This could be a real file on disk or a virtual file.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_FILECHOOSER.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_FILECHOOSER.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_FILECHOOSER.3alleg5", "source2": "ALLEGRO_FILECHOOSER.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER;\n-typedef struct ALLEGRO_FILECHOOSER ALLEGRO_FILECHOOSER;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Opaque handle to a native file dialog.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_FILE_INTERFACE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_FILE_INTERFACE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_FILE_INTERFACE.3alleg5", "source2": "ALLEGRO_FILE_INTERFACE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_FILE_INTERFACE\n-typedef struct ALLEGRO_FILE_INTERFACE\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A structure containing function pointers to handle a type of\n \\[lq]file\\[rq], real or virtual.\n See the full discussion in al_set_new_file_interface(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_FILE_MODE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_FILE_MODE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_FILE_MODE.3alleg5", "source2": "ALLEGRO_FILE_MODE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_FILE_MODE\n-typedef enum ALLEGRO_FILE_MODE\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Filesystem modes/types\n .IP \\[bu] 2\n ALLEGRO_FILEMODE_READ - Readable\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_FONT.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_FONT.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_FONT.3alleg5", "source2": "ALLEGRO_FONT.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_FONT ALLEGRO_FONT;\n-typedef struct ALLEGRO_FONT ALLEGRO_FONT;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A handle identifying any kind of font.\n Usually you will create it with al_load_font(3alleg5) which supports\n loading all kinds of TrueType fonts supported by the FreeType library.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_FOR_EACH_FS_ENTRY_RESULT.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_FOR_EACH_FS_ENTRY_RESULT.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_FOR_EACH_FS_ENTRY_RESULT.3alleg5", "source2": "ALLEGRO_FOR_EACH_FS_ENTRY_RESULT.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_FOR_EACH_FS_ENTRY_RESULT {\n-typedef enum ALLEGRO_FOR_EACH_FS_ENTRY_RESULT {\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return values for the callbacks of al_for_each_fs_entry(3alleg5) and for\n that function itself.\n .IP \\[bu] 2\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_FS_ENTRY.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_FS_ENTRY.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_FS_ENTRY.3alleg5", "source2": "ALLEGRO_FS_ENTRY.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY;\n-typedef struct ALLEGRO_FS_ENTRY ALLEGRO_FS_ENTRY;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Opaque filesystem entry object.\n Represents a file or a directory (check with\n al_get_fs_entry_mode(3alleg5)).\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_FS_INTERFACE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_FS_INTERFACE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_FS_INTERFACE.3alleg5", "source2": "ALLEGRO_FS_INTERFACE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_FS_INTERFACE ALLEGRO_FS_INTERFACE;\n-typedef struct ALLEGRO_FS_INTERFACE ALLEGRO_FS_INTERFACE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n The available functions you can provide for a filesystem.\n They are:\n .IP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_GET_EVENT_TYPE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_GET_EVENT_TYPE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_GET_EVENT_TYPE.3alleg5", "source2": "ALLEGRO_GET_EVENT_TYPE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_GET_EVENT_TYPE(a, b, c, d) AL_ID(a, b, c, d)\n-#define ALLEGRO_GET_EVENT_TYPE(a, b, c, d) AL_ID(a, b, c, d)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Make an event type identifier, which is a 32-bit integer.\n Usually, but not necessarily, this will be made from four 8-bit\n character codes, for example:\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_GLYPH.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_GLYPH.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_GLYPH.3alleg5", "source2": "ALLEGRO_GLYPH.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH;\n-typedef struct ALLEGRO_GLYPH ALLEGRO_GLYPH;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A structure containing the properties of a character in a font.\n .IP\n .nf\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_HAPTIC.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_HAPTIC.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_HAPTIC.3alleg5", "source2": "ALLEGRO_HAPTIC.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC;\n-typedef struct ALLEGRO_HAPTIC ALLEGRO_HAPTIC;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This is an abstract data type representing a haptic device that supports\n force feedback or vibration.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_HAPTIC_CONSTANTS.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_HAPTIC_CONSTANTS.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_HAPTIC_CONSTANTS.3alleg5", "source2": "ALLEGRO_HAPTIC_CONSTANTS.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n enum ALLEGRO_HAPTIC_CONSTANTS\n-enum ALLEGRO_HAPTIC_CONSTANTS\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This enum contains flags that are used to define haptic effects and\n capabilities.\n If the flag is set in the return value of\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_HAPTIC_EFFECT.3alleg5", "source2": "ALLEGRO_HAPTIC_EFFECT.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n struct ALLEGRO_HAPTIC_EFFECT\n-struct ALLEGRO_HAPTIC_EFFECT\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This struct models a particular haptic or vibration effect.\n It needs to be filled in correctly and uploaded to a haptic device\n before the device can play it back.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT_ID.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_HAPTIC_EFFECT_ID.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_HAPTIC_EFFECT_ID.3alleg5", "source2": "ALLEGRO_HAPTIC_EFFECT_ID.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID;\n-typedef struct ALLEGRO_HAPTIC_EFFECT_ID ALLEGRO_HAPTIC_EFFECT_ID;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This struct is used as a handle to control playback of a haptic effect\n and should be considered opaque.\n Its implementation is visible merely to allow allocation by the users of\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_INDEX_BUFFER.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_INDEX_BUFFER.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_INDEX_BUFFER.3alleg5", "source2": "ALLEGRO_INDEX_BUFFER.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER;\n-typedef struct ALLEGRO_INDEX_BUFFER ALLEGRO_INDEX_BUFFER;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A GPU index buffer that you can use to store indices of vertices in a\n vertex buffer on the GPU instead of uploading them afresh during every\n drawing operation.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_JOYFLAGS.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_JOYFLAGS.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_JOYFLAGS.3alleg5", "source2": "ALLEGRO_JOYFLAGS.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n enum ALLEGRO_JOYFLAGS\n-enum ALLEGRO_JOYFLAGS\n \\f[R]\n .fi\n .SH DESCRIPTION\n .IP \\[bu] 2\n ALLEGRO_JOYFLAG_DIGITAL - the stick provides digital input\n .IP \\[bu] 2\n ALLEGRO_JOYFLAG_ANALOGUE - the stick provides analogue input\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_JOYSTICK.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_JOYSTICK.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_JOYSTICK.3alleg5", "source2": "ALLEGRO_JOYSTICK.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK;\n-typedef struct ALLEGRO_JOYSTICK ALLEGRO_JOYSTICK;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This is an abstract data type representing a physical joystick.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_JOYSTICK_STATE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_JOYSTICK_STATE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_JOYSTICK_STATE.3alleg5", "source2": "ALLEGRO_JOYSTICK_STATE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE;\n-typedef struct ALLEGRO_JOYSTICK_STATE ALLEGRO_JOYSTICK_STATE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This is a structure that is used to hold a \\[lq]snapshot\\[rq] of a\n joystick\\[cq]s axes and buttons at a particular instant.\n All fields public and read-only.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_KEYBOARD_STATE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_KEYBOARD_STATE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_KEYBOARD_STATE.3alleg5", "source2": "ALLEGRO_KEYBOARD_STATE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE;\n-typedef struct ALLEGRO_KEYBOARD_STATE ALLEGRO_KEYBOARD_STATE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This is a structure that is used to hold a \\[lq]snapshot\\[rq] of a\n keyboard\\[cq]s state at a particular instant.\n It contains the following publically readable fields:\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_LINE_CAP.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_LINE_CAP.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_LINE_CAP.3alleg5", "source2": "ALLEGRO_LINE_CAP.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_LINE_CAP\n-typedef enum ALLEGRO_LINE_CAP\n \\f[R]\n .fi\n .SH DESCRIPTION\n .IP \\[bu] 2\n ALLEGRO_LINE_CAP_NONE\n .IP \\[bu] 2\n ALLEGRO_LINE_CAP_SQUARE\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_LINE_JOIN.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_LINE_JOIN.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_LINE_JOIN.3alleg5", "source2": "ALLEGRO_LINE_JOIN.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_LINE_JOIN\n-typedef enum ALLEGRO_LINE_JOIN\n \\f[R]\n .fi\n .SH DESCRIPTION\n .IP \\[bu] 2\n ALLEGRO_LINE_JOIN_NONE\n .IP \\[bu] 2\n ALLEGRO_LINE_JOIN_BEVEL\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_LOCKED_REGION.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_LOCKED_REGION.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_LOCKED_REGION.3alleg5", "source2": "ALLEGRO_LOCKED_REGION.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION;\n-typedef struct ALLEGRO_LOCKED_REGION ALLEGRO_LOCKED_REGION;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Users who wish to manually edit or read from a bitmap are required to\n lock it first.\n The ALLEGRO_LOCKED_REGION structure represents the locked region of the\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_MEMORY_INTERFACE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_MEMORY_INTERFACE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_MEMORY_INTERFACE.3alleg5", "source2": "ALLEGRO_MEMORY_INTERFACE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;\n-typedef struct ALLEGRO_MEMORY_INTERFACE ALLEGRO_MEMORY_INTERFACE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This structure has the following fields.\n .IP\n .nf\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_MENU.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_MENU.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_MENU.3alleg5", "source2": "ALLEGRO_MENU.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_MENU ALLEGRO_MENU;\n-typedef struct ALLEGRO_MENU ALLEGRO_MENU;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An opaque data type that represents a menu that contains menu items.\n Each of the menu items may optionally include a sub-menu.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_MENU_INFO.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_MENU_INFO.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_MENU_INFO.3alleg5", "source2": "ALLEGRO_MENU_INFO.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_MENU_INFO {\n-typedef struct ALLEGRO_MENU_INFO {\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A structure that defines how to create a complete menu system.\n For standard menu items, the following format is used:\n .IP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_MIXER.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_MIXER.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_MIXER.3alleg5", "source2": "ALLEGRO_MIXER.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_MIXER ALLEGRO_MIXER;\n-typedef struct ALLEGRO_MIXER ALLEGRO_MIXER;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A mixer mixes together attached streams into a single buffer.\n In the process, it converts channel configurations, sample frequencies\n and audio depths of the attached sample instances and audio streams\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_MIXER_QUALITY.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_MIXER_QUALITY.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_MIXER_QUALITY.3alleg5", "source2": "ALLEGRO_MIXER_QUALITY.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n enum ALLEGRO_MIXER_QUALITY\n-enum ALLEGRO_MIXER_QUALITY\n \\f[R]\n .fi\n .SH DESCRIPTION\n .IP \\[bu] 2\n ALLEGRO_MIXER_QUALITY_POINT - point sampling\n .IP \\[bu] 2\n ALLEGRO_MIXER_QUALITY_LINEAR - linear interpolation\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_MONITOR_INFO.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_MONITOR_INFO.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_MONITOR_INFO.3alleg5", "source2": "ALLEGRO_MONITOR_INFO.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_MONITOR_INFO\n-typedef struct ALLEGRO_MONITOR_INFO\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Describes a monitor\\[cq]s size and position relative to other monitors.\n x1, y1 will be 0, 0 on the primary display.\n Other monitors can have negative values if they are to the left or above\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_MOUSE_EMULATION_MODE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_MOUSE_EMULATION_MODE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_MOUSE_EMULATION_MODE.3alleg5", "source2": "ALLEGRO_MOUSE_EMULATION_MODE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_MOUSE_EMULATION_MODE\n-typedef enum ALLEGRO_MOUSE_EMULATION_MODE\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Type of mouse emulation to apply.\n .TP\n ALLEGRO_MOUSE_EMULATION_NONE\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_MOUSE_STATE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_MOUSE_STATE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_MOUSE_STATE.3alleg5", "source2": "ALLEGRO_MOUSE_STATE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE;\n-typedef struct ALLEGRO_MOUSE_STATE ALLEGRO_MOUSE_STATE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Public fields (read only):\n .IP \\[bu] 2\n x - mouse x position\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_MSECS_TO_SECS.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_MSECS_TO_SECS.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_MSECS_TO_SECS.3alleg5", "source2": "ALLEGRO_MSECS_TO_SECS.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_MSECS_TO_SECS(x) ((x) / 1000.0)\n-#define ALLEGRO_MSECS_TO_SECS(x) ((x) / 1000.0)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert milliseconds to seconds.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_MUTEX.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_MUTEX.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_MUTEX.3alleg5", "source2": "ALLEGRO_MUTEX.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX;\n-typedef struct ALLEGRO_MUTEX ALLEGRO_MUTEX;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An opaque structure representing a mutex.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE.3alleg5", "source2": "ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE 255\n-#define ALLEGRO_NEW_WINDOW_TITLE_MAX_SIZE 255\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This is the maximum size of the title that can be set with\n al_set_new_window_title(3alleg5).\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_PI.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_PI.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_PI.3alleg5", "source2": "ALLEGRO_PI.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_PI 3.14159265358979323846\n-#define ALLEGRO_PI 3.14159265358979323846\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n C99 compilers have no predefined value like M_PI for the constant \\[*p],\n but you can use this one instead.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_PIXEL_FORMAT.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_PIXEL_FORMAT.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_PIXEL_FORMAT.3alleg5", "source2": "ALLEGRO_PIXEL_FORMAT.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_PIXEL_FORMAT\n-typedef enum ALLEGRO_PIXEL_FORMAT\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Pixel formats.\n Each pixel format specifies the exact size and bit layout of a pixel in\n memory.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_PLAYMODE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_PLAYMODE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_PLAYMODE.3alleg5", "source2": "ALLEGRO_PLAYMODE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n enum ALLEGRO_PLAYMODE\n-enum ALLEGRO_PLAYMODE\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Sample and stream playback mode.\n .IP \\[bu] 2\n ALLEGRO_PLAYMODE_ONCE - the sample/stream is played from start to finish\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_PRIM_ATTR.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_PRIM_ATTR.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_PRIM_ATTR.3alleg5", "source2": "ALLEGRO_PRIM_ATTR.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_PRIM_ATTR\n-typedef enum ALLEGRO_PRIM_ATTR\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Enumerates the types of vertex attributes that a custom vertex may have.\n .IP \\[bu] 2\n ALLEGRO_PRIM_POSITION - Position information, can be stored only in\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_PRIM_BUFFER_FLAGS.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_PRIM_BUFFER_FLAGS.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_PRIM_BUFFER_FLAGS.3alleg5", "source2": "ALLEGRO_PRIM_BUFFER_FLAGS.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_PRIM_BUFFER_FLAGS\n-typedef enum ALLEGRO_PRIM_BUFFER_FLAGS\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Flags to specify how to create a vertex or an index buffer.\n .IP \\[bu] 2\n ALLEGRO_PRIM_BUFFER_STREAM - Hints to the driver that the buffer is\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_PRIM_QUALITY.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_PRIM_QUALITY.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_PRIM_QUALITY.3alleg5", "source2": "ALLEGRO_PRIM_QUALITY.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_PRIM_QUALITY 10\n-#define ALLEGRO_PRIM_QUALITY 10\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Controls the quality of the approximation of curved primitives\n (e.g.\\ circles).\n Curved primitives are drawn by approximating them with a sequence of\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_PRIM_STORAGE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_PRIM_STORAGE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_PRIM_STORAGE.3alleg5", "source2": "ALLEGRO_PRIM_STORAGE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_PRIM_STORAGE\n-typedef enum ALLEGRO_PRIM_STORAGE\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Enumerates the types of storage an attribute of a custom vertex may be\n stored in.\n Many of these can only be used for ALLEGRO_PRIM_USER_ATTR attributes and\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_PRIM_TYPE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_PRIM_TYPE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_PRIM_TYPE.3alleg5", "source2": "ALLEGRO_PRIM_TYPE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_PRIM_TYPE\n-typedef enum ALLEGRO_PRIM_TYPE\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Enumerates the types of primitives this addon can draw.\n .IP \\[bu] 2\n ALLEGRO_PRIM_POINT_LIST - A list of points, each vertex defines a point\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_RENDER_FUNCTION.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_RENDER_FUNCTION.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_RENDER_FUNCTION.3alleg5", "source2": "ALLEGRO_RENDER_FUNCTION.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_RENDER_FUNCTION {\n-typedef enum ALLEGRO_RENDER_FUNCTION {\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Possible functions are:\n .IP \\[bu] 2\n ALLEGRO_RENDER_NEVER\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_RENDER_STATE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_RENDER_STATE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_RENDER_STATE.3alleg5", "source2": "ALLEGRO_RENDER_STATE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_RENDER_STATE {\n-typedef enum ALLEGRO_RENDER_STATE {\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Possible render states which can be set with\n al_set_render_state(3alleg5):\n .TP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_SAMPLE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_SAMPLE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_SAMPLE.3alleg5", "source2": "ALLEGRO_SAMPLE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE;\n-typedef struct ALLEGRO_SAMPLE ALLEGRO_SAMPLE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An ALLEGRO_SAMPLE object stores the data necessary for playing\n pre-defined digital audio.\n It holds a user-specified PCM data buffer and information about its\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_SAMPLE_ID.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_SAMPLE_ID.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_SAMPLE_ID.3alleg5", "source2": "ALLEGRO_SAMPLE_ID.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID;\n-typedef struct ALLEGRO_SAMPLE_ID ALLEGRO_SAMPLE_ID;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An ALLEGRO_SAMPLE_ID represents a sample being played via\n al_play_sample(3alleg5).\n It can be used to later sALLEGRO_BITMAP_WRAPtop the sample with\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_SAMPLE_INSTANCE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_SAMPLE_INSTANCE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_SAMPLE_INSTANCE.3alleg5", "source2": "ALLEGRO_SAMPLE_INSTANCE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE;\n-typedef struct ALLEGRO_SAMPLE_INSTANCE ALLEGRO_SAMPLE_INSTANCE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An ALLEGRO_SAMPLE_INSTANCE object represents a playable instance of a\n predefined sound effect.\n It holds information about how the effect should be played: These\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_SEEK.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_SEEK.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_SEEK.3alleg5", "source2": "ALLEGRO_SEEK.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_SEEK\n-typedef enum ALLEGRO_SEEK\n \\f[R]\n .fi\n .SH DESCRIPTION\n .IP \\[bu] 2\n ALLEGRO_SEEK_SET - seek relative to beginning of file\n .IP \\[bu] 2\n ALLEGRO_SEEK_CUR - seek relative to current file position\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_SHADER.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_SHADER.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_SHADER.3alleg5", "source2": "ALLEGRO_SHADER.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_SHADER ALLEGRO_SHADER;\n-typedef struct ALLEGRO_SHADER ALLEGRO_SHADER;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An ALLEGRO_SHADER(3alleg5) is a program that runs on the GPU.\n It combines both a vertex and a pixel shader.\n (In OpenGL terms, an ALLEGRO_SHADER(3alleg5) is actually a\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_SHADER_PLATFORM.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_SHADER_PLATFORM.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_SHADER_PLATFORM.3alleg5", "source2": "ALLEGRO_SHADER_PLATFORM.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM;\n-typedef enum ALLEGRO_SHADER_PLATFORM ALLEGRO_SHADER_PLATFORM;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n The underlying platform which the ALLEGRO_SHADER(3alleg5) is built on\n top of, which dictates the language used to program the shader.\n .IP \\[bu] 2\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_SHADER_TYPE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_SHADER_TYPE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_SHADER_TYPE.3alleg5", "source2": "ALLEGRO_SHADER_TYPE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE;\n-typedef enum ALLEGRO_SHADER_TYPE ALLEGRO_SHADER_TYPE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Used with al_attach_shader_source(3alleg5) and\n al_attach_shader_source_file(3alleg5) to specify how to interpret the\n attached source.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_STATE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_STATE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_STATE.3alleg5", "source2": "ALLEGRO_STATE.3alleg5", "unified_diff": "@@ -21,15 +21,14 @@\n ALLEGRO_STATE - Allegro 5 API\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n \n typedef struct ALLEGRO_STATE ALLEGRO_STATE;\n-typedef struct ALLEGRO_STATE ALLEGRO_STATE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Opaque type which is passed to\n al_store_state(3alleg5)/al_restore_state(3alleg5).\n .PP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_STATE_FLAGS.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_STATE_FLAGS.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_STATE_FLAGS.3alleg5", "source2": "ALLEGRO_STATE_FLAGS.3alleg5", "unified_diff": "@@ -21,15 +21,14 @@\n ALLEGRO_STATE_FLAGS - Allegro 5 API\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n \n typedef enum ALLEGRO_STATE_FLAGS\n-typedef enum ALLEGRO_STATE_FLAGS\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Flags which can be passed to\n al_store_state(3alleg5)/al_restore_state(3alleg5) as bit combinations.\n See al_store_state(3alleg5) for the list of flags.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_SYSTEM_ID.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_SYSTEM_ID.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_SYSTEM_ID.3alleg5", "source2": "ALLEGRO_SYSTEM_ID.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n enum ALLEGRO_SYSTEM_ID {\n-enum ALLEGRO_SYSTEM_ID {\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n The system Allegro is running on.\n .IP \\[bu] 2\n ALLEGRO_SYSTEM_ID_UNKNOWN - Unknown system.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_TEXTLOG.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_TEXTLOG.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_TEXTLOG.3alleg5", "source2": "ALLEGRO_TEXTLOG.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG;\n-typedef struct ALLEGRO_TEXTLOG ALLEGRO_TEXTLOG;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Opaque handle to a text log window.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_THREAD.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_THREAD.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_THREAD.3alleg5", "source2": "ALLEGRO_THREAD.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_THREAD ALLEGRO_THREAD;\n-typedef struct ALLEGRO_THREAD ALLEGRO_THREAD;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An opaque structure representing a thread.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_TIMER.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_TIMER.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_TIMER.3alleg5", "source2": "ALLEGRO_TIMER.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_TIMER ALLEGRO_TIMER;\n-typedef struct ALLEGRO_TIMER ALLEGRO_TIMER;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This is an abstract data type representing a timer object.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_TOUCH_INPUT.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_TOUCH_INPUT.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_TOUCH_INPUT.3alleg5", "source2": "ALLEGRO_TOUCH_INPUT.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT;\n-typedef struct ALLEGRO_TOUCH_INPUT ALLEGRO_TOUCH_INPUT;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An abstract data type representing a physical touch screen or touch pad.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT.3alleg5", "source2": "ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT 16\n-#define ALLEGRO_TOUCH_INPUT_MAX_TOUCH_COUNT 16\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n The maximum amount of simultaneous touches that can be detected.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_STATE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_TOUCH_INPUT_STATE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_TOUCH_INPUT_STATE.3alleg5", "source2": "ALLEGRO_TOUCH_INPUT_STATE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE;\n-typedef struct ALLEGRO_TOUCH_INPUT_STATE ALLEGRO_TOUCH_INPUT_STATE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This is a structure that holds a snapshot of all simultaneous touches at\n a particular instant.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_TOUCH_STATE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_TOUCH_STATE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_TOUCH_STATE.3alleg5", "source2": "ALLEGRO_TOUCH_STATE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE;\n-typedef struct ALLEGRO_TOUCH_STATE ALLEGRO_TOUCH_STATE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This is a structure that is used to hold a \\[lq]snapshot\\[rq] of a touch\n at a particular instant.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_TRANSFORM.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_TRANSFORM.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_TRANSFORM.3alleg5", "source2": "ALLEGRO_TRANSFORM.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM;\n-typedef struct ALLEGRO_TRANSFORM ALLEGRO_TRANSFORM;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Defines the generic transformation type, a 4x4 matrix.\n 2D transforms use only a small subsection of this matrix, namely the top\n left 2x2 matrix, and the right most 2x1 matrix, for a total of 6 values.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_USECS_TO_SECS.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_USECS_TO_SECS.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_USECS_TO_SECS.3alleg5", "source2": "ALLEGRO_USECS_TO_SECS.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_USECS_TO_SECS(x) ((x) / 1000000.0)\n-#define ALLEGRO_USECS_TO_SECS(x) ((x) / 1000000.0)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert microseconds to seconds.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_USER_EVENT.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_USER_EVENT.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_USER_EVENT.3alleg5", "source2": "ALLEGRO_USER_EVENT.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT;\n-typedef struct ALLEGRO_USER_EVENT ALLEGRO_USER_EVENT;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An event structure that can be emitted by user event sources.\n These are the public fields:\n .IP \\[bu] 2\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_USTR.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_USTR.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_USTR.3alleg5", "source2": "ALLEGRO_USTR.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct _al_tagbstring ALLEGRO_USTR;\n-typedef struct _al_tagbstring ALLEGRO_USTR;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n An opaque type representing a string.\n ALLEGRO_USTRs normally contain UTF-8 encoded strings, but they may be\n used to hold any byte sequences, including NULs.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_USTR_INFO.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_USTR_INFO.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_USTR_INFO.3alleg5", "source2": "ALLEGRO_USTR_INFO.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct _al_tagbstring ALLEGRO_USTR_INFO;\n-typedef struct _al_tagbstring ALLEGRO_USTR_INFO;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A type that holds additional information for an ALLEGRO_USTR(3alleg5)\n that references an external memory buffer.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_VERTEX.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_VERTEX.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_VERTEX.3alleg5", "source2": "ALLEGRO_VERTEX.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX;\n-typedef struct ALLEGRO_VERTEX ALLEGRO_VERTEX;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Defines the generic vertex type, with a 3D position, color and texture\n coordinates for a single texture.\n Note that at this time, the software driver for this addon cannot render\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_VERTEX_BUFFER.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_VERTEX_BUFFER.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_VERTEX_BUFFER.3alleg5", "source2": "ALLEGRO_VERTEX_BUFFER.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER;\n-typedef struct ALLEGRO_VERTEX_BUFFER ALLEGRO_VERTEX_BUFFER;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A GPU vertex buffer that you can use to store vertices on the GPU\n instead of uploading them afresh during every drawing operation.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_VERTEX_CACHE_SIZE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_VERTEX_CACHE_SIZE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_VERTEX_CACHE_SIZE.3alleg5", "source2": "ALLEGRO_VERTEX_CACHE_SIZE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define ALLEGRO_VERTEX_CACHE_SIZE 256\n-#define ALLEGRO_VERTEX_CACHE_SIZE 256\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Defines the size of the transformation vertex cache for the software\n renderer.\n If you pass less than this many vertices to the primitive rendering\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_VERTEX_DECL.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_VERTEX_DECL.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_VERTEX_DECL.3alleg5", "source2": "ALLEGRO_VERTEX_DECL.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL;\n-typedef struct ALLEGRO_VERTEX_DECL ALLEGRO_VERTEX_DECL;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A vertex declaration.\n This opaque structure is responsible for describing the format and\n layout of a user defined custom vertex.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_VERTEX_ELEMENT.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_VERTEX_ELEMENT.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_VERTEX_ELEMENT.3alleg5", "source2": "ALLEGRO_VERTEX_ELEMENT.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;\n-typedef struct ALLEGRO_VERTEX_ELEMENT ALLEGRO_VERTEX_ELEMENT;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A small structure describing a certain element of a vertex.\n E.g.\n the position of the vertex, or its color.\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_VIDEO_EVENT_TYPE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_VIDEO_EVENT_TYPE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_VIDEO_EVENT_TYPE.3alleg5", "source2": "ALLEGRO_VIDEO_EVENT_TYPE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n enum ALLEGRO_VIDEO_EVENT_TYPE\n-enum ALLEGRO_VIDEO_EVENT_TYPE\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Events sent by al_get_video_event_source(3alleg5).\n .SS ALLEGRO_EVENT_VIDEO_FRAME_SHOW\n .PP\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_VIDEO_POSITION_TYPE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_VIDEO_POSITION_TYPE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_VIDEO_POSITION_TYPE.3alleg5", "source2": "ALLEGRO_VIDEO_POSITION_TYPE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE;\n-typedef enum ALLEGRO_VIDEO_POSITION_TYPE ALLEGRO_VIDEO_POSITION_TYPE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Used with al_get_video_position(3alleg5) to specify which position to\n retrieve.\n If these get out of sync, audio and video may be out of sync in the\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_VOICE.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_VOICE.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_VOICE.3alleg5", "source2": "ALLEGRO_VOICE.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef struct ALLEGRO_VOICE ALLEGRO_VOICE;\n-typedef struct ALLEGRO_VOICE ALLEGRO_VOICE;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A voice represents an audio device on the system, which may be a real\n device, or an abstract device provided by the operating system.\n To play back audio, you would attach a mixer, sample instance or audio\n"}]}, {"source1": "./usr/share/man/man3/ALLEGRO_WRITE_MASK_FLAGS.3alleg5.gz", "source2": "./usr/share/man/man3/ALLEGRO_WRITE_MASK_FLAGS.3alleg5.gz", "unified_diff": null, "details": [{"source1": "ALLEGRO_WRITE_MASK_FLAGS.3alleg5", "source2": "ALLEGRO_WRITE_MASK_FLAGS.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef enum ALLEGRO_WRITE_MASK_FLAGS {\n-typedef enum ALLEGRO_WRITE_MASK_FLAGS {\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Each enabled bit means the corresponding value is written, a disabled\n bit means it is not.\n .IP \\[bu] 2\n"}]}, {"source1": "./usr/share/man/man3/al_append_menu_item.3alleg5.gz", "source2": "./usr/share/man/man3/al_append_menu_item.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_append_menu_item.3alleg5", "source2": "al_append_menu_item.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id,\n int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n-int al_append_menu_item(ALLEGRO_MENU *parent, char const *title, uint16_t id,\n- int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Appends a menu item to the end of the menu.\n See al_insert_menu_item(3alleg5) for more information.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_append_native_text_log.3alleg5.gz", "source2": "./usr/share/man/man3/al_append_native_text_log.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_append_native_text_log.3alleg5", "source2": "al_append_native_text_log.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog,\n char const *format, ...)\n-void al_append_native_text_log(ALLEGRO_TEXTLOG *textlog,\n- char const *format, ...)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Appends a line of text to the message log window and scrolls to the\n bottom (if the line would not be visible otherwise).\n This works like printf.\n"}]}, {"source1": "./usr/share/man/man3/al_attach_audio_stream_to_mixer.3alleg5.gz", "source2": "./usr/share/man/man3/al_attach_audio_stream_to_mixer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_attach_audio_stream_to_mixer.3alleg5", "source2": "al_attach_audio_stream_to_mixer.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_attach_audio_stream_to_mixer(ALLEGRO_AUDIO_STREAM *stream, ALLEGRO_MIXER *mixer)\n-bool al_attach_audio_stream_to_mixer(ALLEGRO_AUDIO_STREAM *stream, ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Attach an audio stream to a mixer.\n The stream must not already be attached to anything.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_attach_audio_stream_to_voice.3alleg5.gz", "source2": "./usr/share/man/man3/al_attach_audio_stream_to_voice.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_attach_audio_stream_to_voice.3alleg5", "source2": "al_attach_audio_stream_to_voice.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_attach_audio_stream_to_voice(ALLEGRO_AUDIO_STREAM *stream,\n ALLEGRO_VOICE *voice)\n-bool al_attach_audio_stream_to_voice(ALLEGRO_AUDIO_STREAM *stream,\n- ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Attaches an audio stream to a voice.\n The same rules as al_attach_sample_instance_to_voice(3alleg5) apply.\n This may fail if the driver can\\[cq]t create a voice with the buffer\n"}]}, {"source1": "./usr/share/man/man3/al_attach_mixer_to_mixer.3alleg5.gz", "source2": "./usr/share/man/man3/al_attach_mixer_to_mixer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_attach_mixer_to_mixer.3alleg5", "source2": "al_attach_mixer_to_mixer.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_attach_mixer_to_mixer(ALLEGRO_MIXER *stream, ALLEGRO_MIXER *mixer)\n-bool al_attach_mixer_to_mixer(ALLEGRO_MIXER *stream, ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Attaches the mixer passed as the first argument onto the mixer passed as\n the second argument.\n The first mixer (that is going to be attached) must not already be\n"}]}, {"source1": "./usr/share/man/man3/al_attach_mixer_to_voice.3alleg5.gz", "source2": "./usr/share/man/man3/al_attach_mixer_to_voice.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_attach_mixer_to_voice.3alleg5", "source2": "al_attach_mixer_to_voice.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_attach_mixer_to_voice(ALLEGRO_MIXER *mixer, ALLEGRO_VOICE *voice)\n-bool al_attach_mixer_to_voice(ALLEGRO_MIXER *mixer, ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Attaches a mixer to a voice.\n It must have the same frequency and channel configuration, but the depth\n may be different.\n"}]}, {"source1": "./usr/share/man/man3/al_attach_sample_instance_to_mixer.3alleg5.gz", "source2": "./usr/share/man/man3/al_attach_sample_instance_to_mixer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_attach_sample_instance_to_mixer.3alleg5", "source2": "al_attach_sample_instance_to_mixer.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_attach_sample_instance_to_mixer(ALLEGRO_SAMPLE_INSTANCE *spl,\n ALLEGRO_MIXER *mixer)\n-bool al_attach_sample_instance_to_mixer(ALLEGRO_SAMPLE_INSTANCE *spl,\n- ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Attach a sample instance to a mixer.\n The instance must not already be attached to anything.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_attach_sample_instance_to_voice.3alleg5.gz", "source2": "./usr/share/man/man3/al_attach_sample_instance_to_voice.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_attach_sample_instance_to_voice.3alleg5", "source2": "al_attach_sample_instance_to_voice.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_attach_sample_instance_to_voice(ALLEGRO_SAMPLE_INSTANCE *spl,\n ALLEGRO_VOICE *voice)\n-bool al_attach_sample_instance_to_voice(ALLEGRO_SAMPLE_INSTANCE *spl,\n- ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Attaches a sample instance to a voice, and allows it to play.\n The instance\\[cq]s gain and loop mode will be ignored, and it must have\n the same frequency, channel configuration and depth (including\n"}]}, {"source1": "./usr/share/man/man3/al_build_menu.3alleg5.gz", "source2": "./usr/share/man/man3/al_build_menu.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_build_menu.3alleg5", "source2": "al_build_menu.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info)\n-ALLEGRO_MENU *al_build_menu(ALLEGRO_MENU_INFO *info)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Builds a menu based on the specifications of a sequence of\n \\f[V]ALLEGRO_MENU_INFO\\f[R] elements.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_calculate_arc.3alleg5.gz", "source2": "./usr/share/man/man3/al_calculate_arc.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_calculate_arc.3alleg5", "source2": "al_calculate_arc.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_calculate_arc(float* dest, int stride, float cx, float cy,\n float rx, float ry, float start_theta, float delta_theta, float thickness,\n int num_points)\n-void al_calculate_arc(float* dest, int stride, float cx, float cy,\n- float rx, float ry, float start_theta, float delta_theta, float thickness,\n- int num_points)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n When \\f[V]thickness <= 0\\f[R] this function computes positions of\n \\f[V]num_points\\f[R] regularly spaced points on an elliptical arc.\n When \\f[V]thickness > 0\\f[R] this function computes two sets of points,\n"}]}, {"source1": "./usr/share/man/man3/al_calculate_ribbon.3alleg5.gz", "source2": "./usr/share/man/man3/al_calculate_ribbon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_calculate_ribbon.3alleg5", "source2": "al_calculate_ribbon.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_calculate_ribbon(float* dest, int dest_stride, const float *points,\n int points_stride, float thickness, int num_segments)\n-void al_calculate_ribbon(float* dest, int dest_stride, const float *points,\n- int points_stride, float thickness, int num_segments)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Calculates a ribbon given an array of points.\n The ribbon will go through all of the passed points.\n If \\f[V]thickness <= 0\\f[R], then \\f[V]num_segments\\f[R] of points are\n"}]}, {"source1": "./usr/share/man/man3/al_calculate_spline.3alleg5.gz", "source2": "./usr/share/man/man3/al_calculate_spline.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_calculate_spline.3alleg5", "source2": "al_calculate_spline.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_calculate_spline(float* dest, int stride, float points[8],\n float thickness, int num_segments)\n-void al_calculate_spline(float* dest, int stride, float points[8],\n- float thickness, int num_segments)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Calculates a B\\['e]zier spline given 4 control points.\n If \\f[V]thickness <= 0\\f[R], then \\f[V]num_segments\\f[R] of points are\n required in the destination, otherwise twice as many are needed.\n"}]}, {"source1": "./usr/share/man/man3/al_calloc.3alleg5.gz", "source2": "./usr/share/man/man3/al_calloc.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_calloc.3alleg5", "source2": "al_calloc.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n #define al_calloc(c, n) \\[rs]\n (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__))\n-#define al_calloc(c, n) \\[rs]\n- (al_calloc_with_context((c), (n), __LINE__, __FILE__, __func__))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like calloc() in the C standard library, but the implementation may be\n overridden.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_clone_menu.3alleg5.gz", "source2": "./usr/share/man/man3/al_clone_menu.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_clone_menu.3alleg5", "source2": "al_clone_menu.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu)\n-ALLEGRO_MENU *al_clone_menu(ALLEGRO_MENU *menu)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Makes a copy of a menu so that it can be reused on another display.\n The menu being cloned can be anything: a regular menu, a popup menu, or\n a sub-menu.\n"}]}, {"source1": "./usr/share/man/man3/al_clone_menu_for_popup.3alleg5.gz", "source2": "./usr/share/man/man3/al_clone_menu_for_popup.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_clone_menu_for_popup.3alleg5", "source2": "al_clone_menu_for_popup.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu)\n-ALLEGRO_MENU *al_clone_menu_for_popup(ALLEGRO_MENU *menu)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Exactly like al_clone_menu(3alleg5), except that the copy is for a popup\n menu.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_close_native_text_log.3alleg5.gz", "source2": "./usr/share/man/man3/al_close_native_text_log.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_close_native_text_log.3alleg5", "source2": "al_close_native_text_log.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog)\n-void al_close_native_text_log(ALLEGRO_TEXTLOG *textlog)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Closes a message log window opened with al_open_native_text_log(3alleg5)\n earlier.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_close_video.3alleg5.gz", "source2": "./usr/share/man/man3/al_close_video.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_close_video.3alleg5", "source2": "al_close_video.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_close_video(ALLEGRO_VIDEO *video)\n-void al_close_video(ALLEGRO_VIDEO *video)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Closes the video and frees all allocated resources.\n The video pointer is invalid after the function returns.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_color_cmyk.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_cmyk.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_cmyk.3alleg5", "source2": "al_color_cmyk.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_cmyk(float c, float m, float y, float k)\n-ALLEGRO_COLOR al_color_cmyk(float c, float m, float y, float k)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return an ALLEGRO_COLOR(3alleg5) structure from CMYK values (cyan,\n magenta, yellow, black).\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_color_cmyk_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_cmyk_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_cmyk_to_rgb.3alleg5", "source2": "al_color_cmyk_to_rgb.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_cmyk_to_rgb(float cyan, float magenta, float yellow,\n float key, float *red, float *green, float *blue)\n-void al_color_cmyk_to_rgb(float cyan, float magenta, float yellow,\n- float key, float *red, float *green, float *blue)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert CMYK values to RGB values.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_distance_ciede2000.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_distance_ciede2000.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_distance_ciede2000.3alleg5", "source2": "al_color_distance_ciede2000.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n double al_color_distance_ciede2000(ALLEGRO_COLOR color1,\n ALLEGRO_COLOR color2) {\n-double al_color_distance_ciede2000(ALLEGRO_COLOR color1,\n- ALLEGRO_COLOR color2) {\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This function computes the CIEDE2000 color difference between two RGB\n colors.\n This is a visually uniform color difference, unlike for example the RGB\n"}]}, {"source1": "./usr/share/man/man3/al_color_hsl.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_hsl.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_hsl.3alleg5", "source2": "al_color_hsl.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_hsl(float h, float s, float l)\n-ALLEGRO_COLOR al_color_hsl(float h, float s, float l)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return an ALLEGRO_COLOR(3alleg5) structure from HSL (hue, saturation,\n lightness) values.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_hsl_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_hsl_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_hsl_to_rgb.3alleg5", "source2": "al_color_hsl_to_rgb.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_hsl_to_rgb(float hue, float saturation, float lightness,\n float *red, float *green, float *blue)\n-void al_color_hsl_to_rgb(float hue, float saturation, float lightness,\n- float *red, float *green, float *blue)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert values in HSL color model to RGB color model.\n .PP\n Parameters:\n"}]}, {"source1": "./usr/share/man/man3/al_color_hsv.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_hsv.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_hsv.3alleg5", "source2": "al_color_hsv.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_hsv(float h, float s, float v)\n-ALLEGRO_COLOR al_color_hsv(float h, float s, float v)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return an ALLEGRO_COLOR(3alleg5) structure from HSV (hue, saturation,\n value) values.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_hsv_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_hsv_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_hsv_to_rgb.3alleg5", "source2": "al_color_hsv_to_rgb.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_hsv_to_rgb(float hue, float saturation, float value,\n float *red, float *green, float *blue)\n-void al_color_hsv_to_rgb(float hue, float saturation, float value,\n- float *red, float *green, float *blue)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert values in HSV color model to RGB color model.\n .PP\n Parameters:\n"}]}, {"source1": "./usr/share/man/man3/al_color_html.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_html.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_html.3alleg5", "source2": "al_color_html.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_html(char const *string)\n-ALLEGRO_COLOR al_color_html(char const *string)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Interprets an HTML-style hex number (e.g.\\ #00faff) as a color.\n The accepted format is the same as al_color_html_to_rgb(3alleg5).\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_html_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_html_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_html_to_rgb.3alleg5", "source2": "al_color_html_to_rgb.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_color_html_to_rgb(char const *string,\n float *red, float *green, float *blue)\n-bool al_color_html_to_rgb(char const *string,\n- float *red, float *green, float *blue)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Interprets an HTML-style hex number (e.g.\\ #00faff) as a color.\n The only accepted formats are \\[lq]#RRGGBB\\[rq] and \\[lq]RRGGBB\\[rq]\n where R, G, B are hexadecimal digits [0-9A-Fa-f].\n"}]}, {"source1": "./usr/share/man/man3/al_color_lab.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_lab.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_lab.3alleg5", "source2": "al_color_lab.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_lab(float l, float a, float b)\n-ALLEGRO_COLOR al_color_lab(float l, float a, float b)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return an ALLEGRO_COLOR(3alleg5) structure from CIE L*a*b* values.\n The L* component corresponds to luminance from 0..1.\n The a* and b* components are in the range -1..+1.\n"}]}, {"source1": "./usr/share/man/man3/al_color_lab_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_lab_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_lab_to_rgb.3alleg5", "source2": "al_color_lab_to_rgb.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_lab_to_rgb(float l, float a, float b,\n float *red, float *green, float *blue)\n-void al_color_lab_to_rgb(float l, float a, float b,\n- float *red, float *green, float *blue)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert CIE L*a*b* color values to RGB color space.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_lch.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_lch.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_lch.3alleg5", "source2": "al_color_lch.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_lch(float l, float c, float h)\n-ALLEGRO_COLOR al_color_lch(float l, float c, float h)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return an ALLEGRO_COLOR(3alleg5) structure from CIE LCH values.\n LCH colors are very similar to HSL, with the same meaning of L and H and\n C corresponding to S.\n"}]}, {"source1": "./usr/share/man/man3/al_color_lch_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_lch_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_lch_to_rgb.3alleg5", "source2": "al_color_lch_to_rgb.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_lch_to_rgb(float l, float c, float h,\n float *red, float *green, float *blue)\n-void al_color_lch_to_rgb(float l, float c, float h,\n- float *red, float *green, float *blue)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert CIE LCH color values to RGB color space.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_linear.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_linear.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_linear.3alleg5", "source2": "al_color_linear.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_linear(float r, float g, float b)\n-ALLEGRO_COLOR al_color_linear(float r, float g, float b)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return an ALLEGRO_COLOR(3alleg5) structure from linear sRGB values.\n Allegro RGB values are assumed to be sRGB.\n The sRGB standard is in wide use by various display devices.\n"}]}, {"source1": "./usr/share/man/man3/al_color_linear_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_linear_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_linear_to_rgb.3alleg5", "source2": "al_color_linear_to_rgb.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_linear_to_rgb(float r, float g, float b,\n float *red, float *green, float *blue)\n-void al_color_linear_to_rgb(float r, float g, float b,\n- float *red, float *green, float *blue)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert linear sRGB color values to gamma corrected (i.e.\\ normal) RGB\n values.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_color_name.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_name.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_name.3alleg5", "source2": "al_color_name.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_name(char const *name)\n-ALLEGRO_COLOR al_color_name(char const *name)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return an ALLEGRO_COLOR(3alleg5) with the given name.\n If the color is not found then black is returned.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_name_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_name_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_name_to_rgb.3alleg5", "source2": "al_color_name_to_rgb.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_color_name_to_rgb(char const *name, float *r, float *g, float *b)\n-bool al_color_name_to_rgb(char const *name, float *r, float *g, float *b)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Parameters:\n .IP \\[bu] 2\n name - The (lowercase) name of the color.\n"}]}, {"source1": "./usr/share/man/man3/al_color_oklab.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_oklab.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_oklab.3alleg5", "source2": "al_color_oklab.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_oklab(float l, float a, float b)\n-ALLEGRO_COLOR al_color_oklab(float l, float a, float b)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return an ALLEGRO_COLOR(3alleg5) structure from Oklab values.\n The L component corresponds to luminance from 0..1.\n The a and b components are in the range -1..+1.\n"}]}, {"source1": "./usr/share/man/man3/al_color_oklab_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_oklab_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_oklab_to_rgb.3alleg5", "source2": "al_color_oklab_to_rgb.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_oklab_to_rgb(float ol, float oa, float ob,\n float *red, float *green, float *blue)\n-void al_color_oklab_to_rgb(float ol, float oa, float ob,\n- float *red, float *green, float *blue)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert Oklab color values to RGB.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_cmyk.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_cmyk.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_cmyk.3alleg5", "source2": "al_color_rgb_to_cmyk.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_rgb_to_cmyk(float red, float green, float blue,\n float *cyan, float *magenta, float *yellow, float *key)\n-void al_color_rgb_to_cmyk(float red, float green, float blue,\n- float *cyan, float *magenta, float *yellow, float *key)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Each RGB color can be represented in CMYK with a K component of 0 with\n the following formula:\n .IP\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_hsl.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_hsl.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_hsl.3alleg5", "source2": "al_color_rgb_to_hsl.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_rgb_to_hsl(float red, float green, float blue,\n float *hue, float *saturation, float *lightness)\n-void al_color_rgb_to_hsl(float red, float green, float blue,\n- float *hue, float *saturation, float *lightness)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Given an RGB triplet with components in the range 0..1, return the hue\n in degrees from 0..360 and saturation and lightness in the range 0..1.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_hsv.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_hsv.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_hsv.3alleg5", "source2": "al_color_rgb_to_hsv.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_rgb_to_hsv(float red, float green, float blue,\n float *hue, float *saturation, float *value)\n-void al_color_rgb_to_hsv(float red, float green, float blue,\n- float *hue, float *saturation, float *value)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Given an RGB triplet with components in the range 0..1, return the hue\n in degrees from 0..360 and saturation and value in the range 0..1.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_html.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_html.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_html.3alleg5", "source2": "al_color_rgb_to_html.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_rgb_to_html(float red, float green, float blue,\n char *string)\n-void al_color_rgb_to_html(float red, float green, float blue,\n- char *string)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Create an HTML-style string representation of an ALLEGRO_COLOR(3alleg5),\n e.g.\\ #00faff.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_lab.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_lab.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_lab.3alleg5", "source2": "al_color_rgb_to_lab.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_rgb_to_lab(float red, float green, float blue,\n float *l, float *a, float *b)\n-void al_color_rgb_to_lab(float red, float green, float blue,\n- float *l, float *a, float *b)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert RGB values to L*a*b* color space.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_lch.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_lch.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_lch.3alleg5", "source2": "al_color_rgb_to_lch.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_rgb_to_lch(float red, float green, float blue,\n float *l, float *c, float *h)\n-void al_color_rgb_to_lch(float red, float green, float blue,\n- float *l, float *c, float *h)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert RGB values to CIE LCH color space.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_linear.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_linear.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_linear.3alleg5", "source2": "al_color_rgb_to_linear.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_rgb_to_linear(float red, float green, float blue,\n float *r, float *g, float *b)\n-void al_color_rgb_to_linear(float red, float green, float blue,\n- float *r, float *g, float *b)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert gamma corrected sRGB values (i.e.\\ normal RGB) to linear sRGB\n space.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_name.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_name.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_name.3alleg5", "source2": "al_color_rgb_to_name.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n char const *al_color_rgb_to_name(float r, float g, float b)\n-char const *al_color_rgb_to_name(float r, float g, float b)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Given an RGB triplet with components in the range 0..1, find a color\n name describing it approximately.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_oklab.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_oklab.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_oklab.3alleg5", "source2": "al_color_rgb_to_oklab.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_rgb_to_oklab(float red, float green, float blue,\n float *ol, float *oa, float *ob)\n-void al_color_rgb_to_oklab(float red, float green, float blue,\n- float *ol, float *oa, float *ob)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert RGB values to the Oklab color space.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_xyy.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_xyy.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_xyy.3alleg5", "source2": "al_color_rgb_to_xyy.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_rgb_to_xyy(float red, float green, float blue,\n float *x, float *y, float *y2)\n-void al_color_rgb_to_xyy(float red, float green, float blue,\n- float *x, float *y, float *y2)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert RGB values to xyY color space.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_xyz.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_xyz.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_xyz.3alleg5", "source2": "al_color_rgb_to_xyz.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_rgb_to_xyz(float red, float green, float blue,\n float *x, float *y, float *z)\n-void al_color_rgb_to_xyz(float red, float green, float blue,\n- float *x, float *y, float *z)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert RGB values to XYZ color space.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_rgb_to_yuv.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_rgb_to_yuv.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_rgb_to_yuv.3alleg5", "source2": "al_color_rgb_to_yuv.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_rgb_to_yuv(float red, float green, float blue,\n float *y, float *u, float *v)\n-void al_color_rgb_to_yuv(float red, float green, float blue,\n- float *y, float *u, float *v)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert RGB values to YUV color space.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_xyy.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_xyy.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_xyy.3alleg5", "source2": "al_color_xyy.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_xyy(float x, float y, float y2)\n-ALLEGRO_COLOR al_color_xyy(float x, float y, float y2)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return an ALLEGRO_COLOR(3alleg5) structure from xyY values.\n The Y component in the xyY color space is the same as the Y in XYZ.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_xyy_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_xyy_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_xyy_to_rgb.3alleg5", "source2": "al_color_xyy_to_rgb.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_xyy_to_rgb(float x, float y, float y2,\n float *red, float *green, float *blue)\n-void al_color_xyy_to_rgb(float x, float y, float y2,\n- float *red, float *green, float *blue)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert xyY color values to RGB color space.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_xyz.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_xyz.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_xyz.3alleg5", "source2": "al_color_xyz.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_xyz(float x, float y, float z)\n-ALLEGRO_COLOR al_color_xyz(float x, float y, float z)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return an ALLEGRO_COLOR(3alleg5) structure from XYZ values.\n The CIE 1931 XYZ color space consists of three components in the range\n 0..1.\n"}]}, {"source1": "./usr/share/man/man3/al_color_xyz_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_xyz_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_xyz_to_rgb.3alleg5", "source2": "al_color_xyz_to_rgb.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_xyz_to_rgb(float x, float y, float z,\n float *red, float *green, float *blue)\n-void al_color_xyz_to_rgb(float x, float y, float z,\n- float *red, float *green, float *blue)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert XYZ color values to RGB color space.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_yuv.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_yuv.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_yuv.3alleg5", "source2": "al_color_yuv.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_COLOR al_color_yuv(float y, float u, float v)\n-ALLEGRO_COLOR al_color_yuv(float y, float u, float v)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return an ALLEGRO_COLOR(3alleg5) structure from YUV values.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_color_yuv_to_rgb.3alleg5.gz", "source2": "./usr/share/man/man3/al_color_yuv_to_rgb.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_color_yuv_to_rgb.3alleg5", "source2": "al_color_yuv_to_rgb.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_color_yuv_to_rgb(float y, float u, float v,\n float *red, float *green, float *blue)\n-void al_color_yuv_to_rgb(float y, float u, float v,\n- float *red, float *green, float *blue)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Convert YUV color values to RGB color space.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_create_audio_recorder.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_audio_recorder.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_audio_recorder.3alleg5", "source2": "al_create_audio_recorder.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_RECORDER *al_create_audio_recorder(size_t fragment_count,\n unsigned int samples, unsigned int frequency,\n ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_AUDIO_RECORDER *al_create_audio_recorder(size_t fragment_count,\n- unsigned int samples, unsigned int frequency,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates an audio recorder using the system\\[cq]s default recording\n device.\n (So if the returned device does not work, try updating the system\\[cq]s\n"}]}, {"source1": "./usr/share/man/man3/al_create_audio_stream.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_audio_stream.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_audio_stream.3alleg5", "source2": "al_create_audio_stream.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_STREAM *al_create_audio_stream(size_t fragment_count,\n unsigned int frag_samples, unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_AUDIO_STREAM *al_create_audio_stream(size_t fragment_count,\n- unsigned int frag_samples, unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n- ALLEGRO_CHANNEL_CONF chan_conf)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates an ALLEGRO_AUDIO_STREAM(3alleg5).\n The stream will be set to play by default.\n It will feed audio data from a buffer, which is split into a number of\n"}]}, {"source1": "./usr/share/man/man3/al_create_builtin_font.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_builtin_font.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_builtin_font.3alleg5", "source2": "al_create_builtin_font.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_FONT *al_create_builtin_font(void)\n-ALLEGRO_FONT *al_create_builtin_font(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates a monochrome bitmap font (8x8 pixels per character).\n .PP\n This font is primarily intended to be used for displaying information in\n"}]}, {"source1": "./usr/share/man/man3/al_create_index_buffer.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_index_buffer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_index_buffer.3alleg5", "source2": "al_create_index_buffer.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size,\n const void* initial_data, int num_indices, int flags)\n-ALLEGRO_INDEX_BUFFER* al_create_index_buffer(int index_size,\n- const void* initial_data, int num_indices, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates a index buffer.\n Can return NULL if the buffer could not be created (e.g.\\ the system\n only supports write-only buffers).\n"}]}, {"source1": "./usr/share/man/man3/al_create_menu.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_menu.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_menu.3alleg5", "source2": "al_create_menu.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_MENU *al_create_menu(void)\n-ALLEGRO_MENU *al_create_menu(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates a menu container that can hold menu items.\n .PP\n Returns \\f[V]NULL\\f[R] on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_create_mixer.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_mixer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_mixer.3alleg5", "source2": "al_create_mixer.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_MIXER *al_create_mixer(unsigned int freq,\n ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_MIXER *al_create_mixer(unsigned int freq,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates a mixer to attach sample instances, audio streams, or other\n mixers to.\n It will mix into a buffer at the requested frequency (in Hz) and channel\n"}]}, {"source1": "./usr/share/man/man3/al_create_native_file_dialog.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_native_file_dialog.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_native_file_dialog.3alleg5", "source2": "al_create_native_file_dialog.3alleg5", "unified_diff": "@@ -26,19 +26,14 @@\n #include \n \n ALLEGRO_FILECHOOSER *al_create_native_file_dialog(\n char const *initial_path,\n char const *title,\n char const *patterns,\n int mode)\n-ALLEGRO_FILECHOOSER *al_create_native_file_dialog(\n- char const *initial_path,\n- char const *title,\n- char const *patterns,\n- int mode)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates a new native file dialog.\n You should only have one such dialog opened at a time.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_create_popup_menu.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_popup_menu.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_popup_menu.3alleg5", "source2": "al_create_popup_menu.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_MENU *al_create_popup_menu(void)\n-ALLEGRO_MENU *al_create_popup_menu(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates a menu container for popup menus.\n Only the root (outermost) menu should be created with this function.\n Sub menus of popups should be created with al_create_menu(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_create_sample.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_sample.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_sample.3alleg5", "source2": "al_create_sample.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,\n unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)\n-ALLEGRO_SAMPLE *al_create_sample(void *buf, unsigned int samples,\n- unsigned int freq, ALLEGRO_AUDIO_DEPTH depth,\n- ALLEGRO_CHANNEL_CONF chan_conf, bool free_buf)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Create a sample data structure from the supplied buffer.\n If \\f[V]free_buf\\f[R] is true then the buffer will be freed with\n al_free(3alleg5) when the sample data structure is destroyed.\n"}]}, {"source1": "./usr/share/man/man3/al_create_sample_instance.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_sample_instance.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_sample_instance.3alleg5", "source2": "al_create_sample_instance.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data)\n-ALLEGRO_SAMPLE_INSTANCE *al_create_sample_instance(ALLEGRO_SAMPLE *sample_data)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates a sample instance, using the supplied sample data.\n The instance must be attached to a mixer (or voice) in order to actually\n produce output.\n"}]}, {"source1": "./usr/share/man/man3/al_create_vertex_buffer.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_vertex_buffer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_vertex_buffer.3alleg5", "source2": "al_create_vertex_buffer.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl,\n const void* initial_data, int num_vertices, int flags)\n-ALLEGRO_VERTEX_BUFFER* al_create_vertex_buffer(ALLEGRO_VERTEX_DECL* decl,\n- const void* initial_data, int num_vertices, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates a vertex buffer.\n Can return NULL if the buffer could not be created (e.g.\\ the system\n only supports write-only buffers).\n"}]}, {"source1": "./usr/share/man/man3/al_create_vertex_decl.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_vertex_decl.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_vertex_decl.3alleg5", "source2": "al_create_vertex_decl.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int stride)\n-ALLEGRO_VERTEX_DECL* al_create_vertex_decl(const ALLEGRO_VERTEX_ELEMENT* elements, int stride)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates a vertex declaration, which describes a custom vertex format.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_create_voice.3alleg5.gz", "source2": "./usr/share/man/man3/al_create_voice.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_create_voice.3alleg5", "source2": "al_create_voice.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_VOICE *al_create_voice(unsigned int freq,\n ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-ALLEGRO_VOICE *al_create_voice(unsigned int freq,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates a voice structure and allocates a voice from the digital sound\n driver.\n The passed frequency (in Hz), sample format and channel configuration\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_audio_recorder.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_audio_recorder.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_audio_recorder.3alleg5", "source2": "al_destroy_audio_recorder.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n-void al_destroy_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Destroys the audio recorder and frees all resources associated with it.\n It is safe to destroy a recorder that is recording.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_audio_stream.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_audio_stream.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_audio_stream.3alleg5", "source2": "al_destroy_audio_stream.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-void al_destroy_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Destroy an audio stream which was created with\n al_create_audio_stream(3alleg5) or al_load_audio_stream(3alleg5).\n .RS\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_font.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_font.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_font.3alleg5", "source2": "al_destroy_font.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_font(ALLEGRO_FONT *f)\n-void al_destroy_font(ALLEGRO_FONT *f)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Frees the memory being used by a font structure.\n Does nothing if passed NULL.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_index_buffer.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_index_buffer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_index_buffer.3alleg5", "source2": "al_destroy_index_buffer.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)\n-void al_destroy_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Destroys a index buffer.\n Does nothing if passed NULL.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_menu.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_menu.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_menu.3alleg5", "source2": "al_destroy_menu.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_menu(ALLEGRO_MENU *menu)\n-void al_destroy_menu(ALLEGRO_MENU *menu)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Destroys an entire menu, including its sub-menus.\n Any references to it or a sub-menu are no longer valid.\n It is safe to call this on a menu that is currently being displayed.\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_mixer.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_mixer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_mixer.3alleg5", "source2": "al_destroy_mixer.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_mixer(ALLEGRO_MIXER *mixer)\n-void al_destroy_mixer(ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Destroys the mixer.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_native_file_dialog.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_native_file_dialog.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_native_file_dialog.3alleg5", "source2": "al_destroy_native_file_dialog.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog)\n-void al_destroy_native_file_dialog(ALLEGRO_FILECHOOSER *dialog)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Frees up all resources used by the file dialog.\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_sample.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_sample.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_sample.3alleg5", "source2": "al_destroy_sample.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_sample(ALLEGRO_SAMPLE *spl)\n-void al_destroy_sample(ALLEGRO_SAMPLE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Free the sample data structure.\n If it was created with the \\f[V]free_buf\\f[R] parameter set to true,\n then the buffer will be freed with al_free(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_sample_instance.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_sample_instance.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_sample_instance.3alleg5", "source2": "al_destroy_sample_instance.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-void al_destroy_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Detaches the sample instance from anything it may be attached to and\n frees it (the sample data, i.e.\\ its ALLEGRO_SAMPLE, is \\f[I]not\\f[R]\n freed!).\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_vertex_buffer.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_vertex_buffer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_vertex_buffer.3alleg5", "source2": "al_destroy_vertex_buffer.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)\n-void al_destroy_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Destroys a vertex buffer.\n Does nothing if passed NULL.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_vertex_decl.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_vertex_decl.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_vertex_decl.3alleg5", "source2": "al_destroy_vertex_decl.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl)\n-void al_destroy_vertex_decl(ALLEGRO_VERTEX_DECL* decl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Destroys a vertex declaration.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_destroy_voice.3alleg5.gz", "source2": "./usr/share/man/man3/al_destroy_voice.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_destroy_voice.3alleg5", "source2": "al_destroy_voice.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_destroy_voice(ALLEGRO_VOICE *voice)\n-void al_destroy_voice(ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Destroys the voice and deallocates it from the digital driver.\n Does nothing if the voice is NULL.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_detach_audio_stream.3alleg5.gz", "source2": "./usr/share/man/man3/al_detach_audio_stream.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_detach_audio_stream.3alleg5", "source2": "al_detach_audio_stream.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-bool al_detach_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Detach the stream from whatever it\\[cq]s attached to, if anything.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_detach_mixer.3alleg5.gz", "source2": "./usr/share/man/man3/al_detach_mixer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_detach_mixer.3alleg5", "source2": "al_detach_mixer.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_detach_mixer(ALLEGRO_MIXER *mixer)\n-bool al_detach_mixer(ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Detach the mixer from whatever it is attached to, if anything.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_detach_sample_instance.3alleg5.gz", "source2": "./usr/share/man/man3/al_detach_sample_instance.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_detach_sample_instance.3alleg5", "source2": "al_detach_sample_instance.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_detach_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Detach the sample instance from whatever it\\[cq]s attached to, if\n anything.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_detach_voice.3alleg5.gz", "source2": "./usr/share/man/man3/al_detach_voice.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_detach_voice.3alleg5", "source2": "al_detach_voice.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_detach_voice(ALLEGRO_VOICE *voice)\n-void al_detach_voice(ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Detaches the mixer, sample instance or audio stream from the voice.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_disable_menu_event_source.3alleg5.gz", "source2": "./usr/share/man/man3/al_disable_menu_event_source.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_disable_menu_event_source.3alleg5", "source2": "al_disable_menu_event_source.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_disable_menu_event_source(ALLEGRO_MENU *menu)\n-void al_disable_menu_event_source(ALLEGRO_MENU *menu)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Disables a unique event source for the menu, causing it to use the\n default event source.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_do_multiline_text.3alleg5.gz", "source2": "./usr/share/man/man3/al_do_multiline_text.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_do_multiline_text.3alleg5", "source2": "al_do_multiline_text.3alleg5", "unified_diff": "@@ -25,18 +25,14 @@\n \\f[C]\n #include \n \n void al_do_multiline_text(const ALLEGRO_FONT *font,\n float max_width, const char *text,\n bool (*cb)(int line_num, const char *line, int size, void *extra),\n void *extra)\n-void al_do_multiline_text(const ALLEGRO_FONT *font,\n- float max_width, const char *text,\n- bool (*cb)(int line_num, const char *line, int size, void *extra),\n- void *extra)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This function processes the \\f[V]text\\f[R] and splits it into lines as\n al_draw_multiline_text(3alleg5) would, and then calls the callback\n \\f[V]cb\\f[R] once for every line.\n"}]}, {"source1": "./usr/share/man/man3/al_do_multiline_ustr.3alleg5.gz", "source2": "./usr/share/man/man3/al_do_multiline_ustr.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_do_multiline_ustr.3alleg5", "source2": "al_do_multiline_ustr.3alleg5", "unified_diff": "@@ -25,18 +25,14 @@\n \\f[C]\n #include \n \n void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width,\n const ALLEGRO_USTR *ustr,\n bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra),\n void *extra)\n-void al_do_multiline_ustr(const ALLEGRO_FONT *font, float max_width,\n- const ALLEGRO_USTR *ustr,\n- bool (*cb)(int line_num, const ALLEGRO_USTR * line, void *extra),\n- void *extra)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_do_multiline_text(3alleg5), but using ALLEGRO_USTR instead of a\n NUL-terminated char array for text.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_drain_audio_stream.3alleg5.gz", "source2": "./usr/share/man/man3/al_drain_audio_stream.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_drain_audio_stream.3alleg5", "source2": "al_drain_audio_stream.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-void al_drain_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n You should call this to finalise an audio stream that you will no longer\n be feeding, to wait for all pending buffers to finish playing.\n The stream\\[cq]s playing state will change to false.\n"}]}, {"source1": "./usr/share/man/man3/al_draw_arc.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_arc.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_arc.3alleg5", "source2": "al_draw_arc.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_arc(float cx, float cy, float r, float start_theta,\n float delta_theta, ALLEGRO_COLOR color, float thickness)\n-void al_draw_arc(float cx, float cy, float r, float start_theta,\n- float delta_theta, ALLEGRO_COLOR color, float thickness)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws an arc.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_circle.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_circle.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_circle.3alleg5", "source2": "al_draw_circle.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color,\n float thickness)\n-void al_draw_circle(float cx, float cy, float r, ALLEGRO_COLOR color,\n- float thickness)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws an outlined circle.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_ellipse.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_ellipse.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_ellipse.3alleg5", "source2": "al_draw_ellipse.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_ellipse(float cx, float cy, float rx, float ry,\n ALLEGRO_COLOR color, float thickness)\n-void al_draw_ellipse(float cx, float cy, float rx, float ry,\n- ALLEGRO_COLOR color, float thickness)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws an outlined ellipse.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_elliptical_arc.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_elliptical_arc.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_elliptical_arc.3alleg5", "source2": "al_draw_elliptical_arc.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float start_theta,\n float delta_theta, ALLEGRO_COLOR color, float thickness)\n-void al_draw_elliptical_arc(float cx, float cy, float rx, float ry, float start_theta,\n- float delta_theta, ALLEGRO_COLOR color, float thickness)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws an elliptical arc.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_filled_circle.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_filled_circle.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_filled_circle.3alleg5", "source2": "al_draw_filled_circle.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color)\n-void al_draw_filled_circle(float cx, float cy, float r, ALLEGRO_COLOR color)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a filled circle.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_filled_ellipse.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_filled_ellipse.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_filled_ellipse.3alleg5", "source2": "al_draw_filled_ellipse.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_filled_ellipse(float cx, float cy, float rx, float ry,\n ALLEGRO_COLOR color)\n-void al_draw_filled_ellipse(float cx, float cy, float rx, float ry,\n- ALLEGRO_COLOR color)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a filled ellipse.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_filled_pieslice.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_filled_pieslice.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_filled_pieslice.3alleg5", "source2": "al_draw_filled_pieslice.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta,\n float delta_theta, ALLEGRO_COLOR color)\n-void al_draw_filled_pieslice(float cx, float cy, float r, float start_theta,\n- float delta_theta, ALLEGRO_COLOR color)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a filled pieslice (filled circular sector).\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_filled_polygon.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_filled_polygon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_filled_polygon.3alleg5", "source2": "al_draw_filled_polygon.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_filled_polygon(const float *vertices, int vertex_count,\n ALLEGRO_COLOR color)\n-void al_draw_filled_polygon(const float *vertices, int vertex_count,\n- ALLEGRO_COLOR color)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draw a filled, simple polygon.\n Simple means it does not have to be convex but must not be\n self-overlapping.\n"}]}, {"source1": "./usr/share/man/man3/al_draw_filled_polygon_with_holes.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_filled_polygon_with_holes.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_filled_polygon_with_holes.3alleg5", "source2": "al_draw_filled_polygon_with_holes.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_filled_polygon_with_holes(const float *vertices,\n const int *vertex_counts, ALLEGRO_COLOR color)\n-void al_draw_filled_polygon_with_holes(const float *vertices,\n- const int *vertex_counts, ALLEGRO_COLOR color)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a filled simple polygon with zero or more other simple polygons\n subtracted from it - the holes.\n The holes cannot touch or intersect with the outline of the filled\n"}]}, {"source1": "./usr/share/man/man3/al_draw_filled_rectangle.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_filled_rectangle.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_filled_rectangle.3alleg5", "source2": "al_draw_filled_rectangle.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_filled_rectangle(float x1, float y1, float x2, float y2,\n ALLEGRO_COLOR color)\n-void al_draw_filled_rectangle(float x1, float y1, float x2, float y2,\n- ALLEGRO_COLOR color)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a filled rectangle.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_filled_rounded_rectangle.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_filled_rounded_rectangle.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_filled_rounded_rectangle.3alleg5", "source2": "al_draw_filled_rounded_rectangle.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2,\n float rx, float ry, ALLEGRO_COLOR color)\n-void al_draw_filled_rounded_rectangle(float x1, float y1, float x2, float y2,\n- float rx, float ry, ALLEGRO_COLOR color)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws an filled rounded rectangle.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_filled_triangle.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_filled_triangle.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_filled_triangle.3alleg5", "source2": "al_draw_filled_triangle.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_filled_triangle(float x1, float y1, float x2, float y2,\n float x3, float y3, ALLEGRO_COLOR color)\n-void al_draw_filled_triangle(float x1, float y1, float x2, float y2,\n- float x3, float y3, ALLEGRO_COLOR color)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a filled triangle.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_glyph.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_glyph.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_glyph.3alleg5", "source2": "al_draw_glyph.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float y,\n int codepoint)\n-void al_draw_glyph(const ALLEGRO_FONT *f, ALLEGRO_COLOR color, float x, float y,\n- int codepoint)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws the glyph that corresponds with \\f[V]codepoint\\f[R] in the given\n \\f[V]color\\f[R] using the given \\f[V]font\\f[R].\n If \\f[V]font\\f[R] does not have such a glyph, nothing will be drawn.\n"}]}, {"source1": "./usr/share/man/man3/al_draw_indexed_buffer.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_indexed_buffer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_indexed_buffer.3alleg5", "source2": "al_draw_indexed_buffer.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer,\n int start, int end, int type)\n-int al_draw_indexed_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n- ALLEGRO_BITMAP* texture, ALLEGRO_INDEX_BUFFER* index_buffer,\n- int start, int end, int type)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a subset of the passed vertex buffer.\n This function uses an index buffer to specify which vertices to use.\n Both buffers must not be locked.\n"}]}, {"source1": "./usr/share/man/man3/al_draw_indexed_prim.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_indexed_prim.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_indexed_prim.3alleg5", "source2": "al_draw_indexed_prim.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type)\n-int al_draw_indexed_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n- ALLEGRO_BITMAP* texture, const int* indices, int num_vtx, int type)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a subset of the passed vertex array.\n This function uses an index array to specify which vertices to use.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_draw_justified_text.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_justified_text.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_justified_text.3alleg5", "source2": "al_draw_justified_text.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_draw_justified_text(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x1, float x2,\n float y, float diff, int flags, const char *text)\n-void al_draw_justified_text(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x1, float x2,\n- float y, float diff, int flags, const char *text)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_draw_text(3alleg5), but justifies the string to the region\n x1-x2.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_draw_justified_textf.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_justified_textf.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_justified_textf.3alleg5", "source2": "al_draw_justified_textf.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_draw_justified_textf(const ALLEGRO_FONT *f,\n ALLEGRO_COLOR color, float x1, float x2, float y,\n float diff, int flags, const char *format, ...)\n-void al_draw_justified_textf(const ALLEGRO_FONT *f,\n- ALLEGRO_COLOR color, float x1, float x2, float y,\n- float diff, int flags, const char *format, ...)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Formatted text output, using a printf() style format string.\n All parameters have the same meaning as with\n al_draw_justified_text(3alleg5) otherwise.\n"}]}, {"source1": "./usr/share/man/man3/al_draw_justified_ustr.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_justified_ustr.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_justified_ustr.3alleg5", "source2": "al_draw_justified_ustr.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_draw_justified_ustr(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x1, float x2,\n float y, float diff, int flags, const ALLEGRO_USTR *ustr)\n-void al_draw_justified_ustr(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x1, float x2,\n- float y, float diff, int flags, const ALLEGRO_USTR *ustr)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_draw_justified_text(3alleg5), except the text is passed as an\n ALLEGRO_USTR instead of a NUL-terminated char array.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_draw_line.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_line.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_line.3alleg5", "source2": "al_draw_line.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_line(float x1, float y1, float x2, float y2,\n ALLEGRO_COLOR color, float thickness)\n-void al_draw_line(float x1, float y1, float x2, float y2,\n- ALLEGRO_COLOR color, float thickness)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a line segment between two points.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_multiline_text.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_multiline_text.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_multiline_text.3alleg5", "source2": "al_draw_multiline_text.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_draw_multiline_text(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n int flags, const char *text)\n-void al_draw_multiline_text(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n- int flags, const char *text)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_draw_text(3alleg5), but this function supports drawing multiple\n lines of text.\n It will break \\f[V]text\\f[R] in lines based on its contents and the\n"}]}, {"source1": "./usr/share/man/man3/al_draw_multiline_textf.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_multiline_textf.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_multiline_textf.3alleg5", "source2": "al_draw_multiline_textf.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_draw_multiline_textf(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n int flags, const char *format, ...)\n-void al_draw_multiline_textf(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n- int flags, const char *format, ...)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Formatted text output, using a printf() style format string.\n All parameters have the same meaning as with\n al_draw_multiline_text(3alleg5) otherwise.\n"}]}, {"source1": "./usr/share/man/man3/al_draw_multiline_ustr.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_multiline_ustr.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_multiline_ustr.3alleg5", "source2": "al_draw_multiline_ustr.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_draw_multiline_ustr(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n int flags, const ALLEGRO_USTR *ustr)\n-void al_draw_multiline_ustr(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x, float y, float max_width, float line_height,\n- int flags, const ALLEGRO_USTR *ustr)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_draw_multiline_text(3alleg5), except the text is passed as an\n ALLEGRO_USTR instead of a NUL-terminated char array.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_draw_pieslice.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_pieslice.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_pieslice.3alleg5", "source2": "al_draw_pieslice.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_pieslice(float cx, float cy, float r, float start_theta,\n float delta_theta, ALLEGRO_COLOR color, float thickness)\n-void al_draw_pieslice(float cx, float cy, float r, float start_theta,\n- float delta_theta, ALLEGRO_COLOR color, float thickness)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a pieslice (outlined circular sector).\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_polygon.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_polygon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_polygon.3alleg5", "source2": "al_draw_polygon.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_polygon(const float *vertices, int vertex_count,\n int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit)\n-void al_draw_polygon(const float *vertices, int vertex_count,\n- int join_style, ALLEGRO_COLOR color, float thickness, float miter_limit)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draw an unfilled polygon.\n This is the same as passing \\f[V]ALLEGRO_LINE_CAP_CLOSED\\f[R] to\n al_draw_polyline(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_draw_polyline.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_polyline.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_polyline.3alleg5", "source2": "al_draw_polyline.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_draw_polyline(const float* vertices, int vertex_stride,\n int vertex_count, int join_style, int cap_style,\n ALLEGRO_COLOR color, float thickness, float miter_limit)\n-void al_draw_polyline(const float* vertices, int vertex_stride,\n- int vertex_count, int join_style, int cap_style,\n- ALLEGRO_COLOR color, float thickness, float miter_limit)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draw a series of line segments.\n .IP \\[bu] 2\n vertices - Interleaved array of (x, y) vertex coordinates\n"}]}, {"source1": "./usr/share/man/man3/al_draw_prim.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_prim.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_prim.3alleg5", "source2": "al_draw_prim.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n ALLEGRO_BITMAP* texture, int start, int end, int type)\n-int al_draw_prim(const void* vtxs, const ALLEGRO_VERTEX_DECL* decl,\n- ALLEGRO_BITMAP* texture, int start, int end, int type)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a subset of the passed vertex array.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_rectangle.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_rectangle.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_rectangle.3alleg5", "source2": "al_draw_rectangle.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_rectangle(float x1, float y1, float x2, float y2,\n ALLEGRO_COLOR color, float thickness)\n-void al_draw_rectangle(float x1, float y1, float x2, float y2,\n- ALLEGRO_COLOR color, float thickness)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws an outlined rectangle.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_ribbon.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_ribbon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_ribbon.3alleg5", "source2": "al_draw_ribbon.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR color,\n float thickness, int num_segments)\n-void al_draw_ribbon(const float *points, int points_stride, ALLEGRO_COLOR color,\n- float thickness, int num_segments)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a ribbon given an array of points.\n The ribbon will go through all of the passed points.\n The points buffer should consist of regularly spaced doublets of floats,\n"}]}, {"source1": "./usr/share/man/man3/al_draw_rounded_rectangle.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_rounded_rectangle.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_rounded_rectangle.3alleg5", "source2": "al_draw_rounded_rectangle.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2,\n float rx, float ry, ALLEGRO_COLOR color, float thickness)\n-void al_draw_rounded_rectangle(float x1, float y1, float x2, float y2,\n- float rx, float ry, ALLEGRO_COLOR color, float thickness)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws an outlined rounded rectangle.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_soft_line.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_soft_line.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_soft_line.3alleg5", "source2": "al_draw_soft_line.3alleg5", "unified_diff": "@@ -25,18 +25,14 @@\n \\f[C]\n #include \n \n void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state,\n void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n void (*step)(uintptr_t, int),\n void (*draw)(uintptr_t, int, int))\n-void al_draw_soft_line(ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, uintptr_t state,\n- void (*first)(uintptr_t, int, int, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n- void (*step)(uintptr_t, int),\n- void (*draw)(uintptr_t, int, int))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a line using the software rasterizer and user supplied pixel\n functions.\n For help in understanding what these functions do, see the\n"}]}, {"source1": "./usr/share/man/man3/al_draw_soft_triangle.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_soft_triangle.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_soft_triangle.3alleg5", "source2": "al_draw_soft_triangle.3alleg5", "unified_diff": "@@ -27,20 +27,14 @@\n \n void al_draw_soft_triangle(\n ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state,\n void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n void (*first)(uintptr_t, int, int, int, int),\n void (*step)(uintptr_t, int),\n void (*draw)(uintptr_t, int, int, int))\n-void al_draw_soft_triangle(\n- ALLEGRO_VERTEX* v1, ALLEGRO_VERTEX* v2, ALLEGRO_VERTEX* v3, uintptr_t state,\n- void (*init)(uintptr_t, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*, ALLEGRO_VERTEX*),\n- void (*first)(uintptr_t, int, int, int, int),\n- void (*step)(uintptr_t, int),\n- void (*draw)(uintptr_t, int, int, int))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a triangle using the software rasterizer and user supplied pixel\n functions.\n For help in understanding what these functions do, see the\n"}]}, {"source1": "./usr/share/man/man3/al_draw_spline.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_spline.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_spline.3alleg5", "source2": "al_draw_spline.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_spline(float points[8], ALLEGRO_COLOR color, float thickness)\n-void al_draw_spline(float points[8], ALLEGRO_COLOR color, float thickness)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a B\\['e]zier spline given 4 control points.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_text.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_text.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_text.3alleg5", "source2": "al_draw_text.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_draw_text(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, int flags,\n char const *text) \n-void al_draw_text(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x, float y, int flags,\n- char const *text) \n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Writes the NUL-terminated string \\f[V]text\\f[R] onto the target bitmap\n at position \\f[V]x\\f[R], \\f[V]y\\f[R], using the specified\n \\f[V]font\\f[R].\n"}]}, {"source1": "./usr/share/man/man3/al_draw_textf.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_textf.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_textf.3alleg5", "source2": "al_draw_textf.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color,\n float x, float y, int flags,\n const char *format, ...)\n-void al_draw_textf(const ALLEGRO_FONT *font, ALLEGRO_COLOR color,\n- float x, float y, int flags,\n- const char *format, ...)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Formatted text output, using a printf() style format string.\n All parameters have the same meaning as with al_draw_text(3alleg5)\n otherwise.\n"}]}, {"source1": "./usr/share/man/man3/al_draw_triangle.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_triangle.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_triangle.3alleg5", "source2": "al_draw_triangle.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_draw_triangle(float x1, float y1, float x2, float y2,\n float x3, float y3, ALLEGRO_COLOR color, float thickness)\n-void al_draw_triangle(float x1, float y1, float x2, float y2,\n- float x3, float y3, ALLEGRO_COLOR color, float thickness)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws an outlined triangle.\n .PP\n \\f[I]Parameters:\\f[R]\n"}]}, {"source1": "./usr/share/man/man3/al_draw_ustr.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_ustr.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_ustr.3alleg5", "source2": "al_draw_ustr.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_draw_ustr(const ALLEGRO_FONT *font,\n ALLEGRO_COLOR color, float x, float y, int flags,\n const ALLEGRO_USTR *ustr) \n-void al_draw_ustr(const ALLEGRO_FONT *font,\n- ALLEGRO_COLOR color, float x, float y, int flags,\n- const ALLEGRO_USTR *ustr) \n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_draw_text(3alleg5), except the text is passed as an ALLEGRO_USTR\n instead of a NUL-terminated char array.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_draw_vertex_buffer.3alleg5.gz", "source2": "./usr/share/man/man3/al_draw_vertex_buffer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_draw_vertex_buffer.3alleg5", "source2": "al_draw_vertex_buffer.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n ALLEGRO_BITMAP* texture, int start, int end, int type)\n-int al_draw_vertex_buffer(ALLEGRO_VERTEX_BUFFER* vertex_buffer,\n- ALLEGRO_BITMAP* texture, int start, int end, int type)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Draws a subset of the passed vertex buffer.\n The vertex buffer must not be locked.\n Additionally, to draw onto memory bitmaps or with memory bitmap textures\n"}]}, {"source1": "./usr/share/man/man3/al_enable_menu_event_source.3alleg5.gz", "source2": "./usr/share/man/man3/al_enable_menu_event_source.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_enable_menu_event_source.3alleg5", "source2": "al_enable_menu_event_source.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu)\n-ALLEGRO_EVENT_SOURCE *al_enable_menu_event_source(ALLEGRO_MENU *menu)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Enables a unique event source for this menu.\n It and all of its sub-menus will use this event source.\n (It is safe to call this multiple times on the same menu.)\n"}]}, {"source1": "./usr/share/man/man3/al_fill_silence.3alleg5.gz", "source2": "./usr/share/man/man3/al_fill_silence.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_fill_silence.3alleg5", "source2": "al_fill_silence.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void al_fill_silence(void *buf, unsigned int samples,\n ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n-void al_fill_silence(void *buf, unsigned int samples,\n- ALLEGRO_AUDIO_DEPTH depth, ALLEGRO_CHANNEL_CONF chan_conf)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Fill a buffer with silence, for the given format and channel\n configuration.\n The buffer must have enough space for the given number of samples, and\n"}]}, {"source1": "./usr/share/man/man3/al_find_menu.3alleg5.gz", "source2": "./usr/share/man/man3/al_find_menu.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_find_menu.3alleg5", "source2": "al_find_menu.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id)\n-ALLEGRO_MENU *al_find_menu(ALLEGRO_MENU *haystack, uint16_t id)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Searches in the \\f[V]haystack\\f[R] menu for any submenu with the given\n \\f[V]id\\f[R].\n (Note that this only represents a literal ID, and cannot be used as an\n"}]}, {"source1": "./usr/share/man/man3/al_find_menu_item.3alleg5.gz", "source2": "./usr/share/man/man3/al_find_menu_item.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_find_menu_item.3alleg5", "source2": "al_find_menu_item.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU **menu,\n int *index)\n-bool al_find_menu_item(ALLEGRO_MENU *haystack, uint16_t id, ALLEGRO_MENU **menu,\n- int *index)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Searches in the \\f[V]haystack\\f[R] menu for an item with the given\n \\f[V]id\\f[R].\n (Note that this only represents a literal ID, and cannot be used as an\n"}]}, {"source1": "./usr/share/man/man3/al_fixed.3alleg5.gz", "source2": "./usr/share/man/man3/al_fixed.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_fixed.3alleg5", "source2": "al_fixed.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n typedef int32_t al_fixed;\n-typedef int32_t al_fixed;\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n A fixed point number.\n .PP\n Allegro provides some routines for working with fixed point numbers, and\n"}]}, {"source1": "./usr/share/man/man3/al_free.3alleg5.gz", "source2": "./usr/share/man/man3/al_free.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_free.3alleg5", "source2": "al_free.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n #define al_free(p) \\[rs]\n (al_free_with_context((p), __LINE__, __FILE__, __func__))\n-#define al_free(p) \\[rs]\n- (al_free_with_context((p), __LINE__, __FILE__, __func__))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like free() in the C standard library, but the implementation may be\n overridden.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_allegro_acodec_version.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_allegro_acodec_version.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_allegro_acodec_version.3alleg5", "source2": "al_get_allegro_acodec_version.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint32_t al_get_allegro_acodec_version(void)\n-uint32_t al_get_allegro_acodec_version(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_allegro_audio_version.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_allegro_audio_version.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_allegro_audio_version.3alleg5", "source2": "al_get_allegro_audio_version.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint32_t al_get_allegro_audio_version(void)\n-uint32_t al_get_allegro_audio_version(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_allegro_color_version.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_allegro_color_version.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_allegro_color_version.3alleg5", "source2": "al_get_allegro_color_version.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint32_t al_get_allegro_color_version(void)\n-uint32_t al_get_allegro_color_version(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_allegro_font_version.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_allegro_font_version.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_allegro_font_version.3alleg5", "source2": "al_get_allegro_font_version.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint32_t al_get_allegro_font_version(void)\n-uint32_t al_get_allegro_font_version(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_allegro_image_version.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_allegro_image_version.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_allegro_image_version.3alleg5", "source2": "al_get_allegro_image_version.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint32_t al_get_allegro_image_version(void)\n-uint32_t al_get_allegro_image_version(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_allegro_memfile_version.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_allegro_memfile_version.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_allegro_memfile_version.3alleg5", "source2": "al_get_allegro_memfile_version.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint32_t al_get_allegro_memfile_version(void)\n-uint32_t al_get_allegro_memfile_version(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_allegro_native_dialog_version.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_allegro_native_dialog_version.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_allegro_native_dialog_version.3alleg5", "source2": "al_get_allegro_native_dialog_version.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint32_t al_get_allegro_native_dialog_version(void)\n-uint32_t al_get_allegro_native_dialog_version(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_allegro_physfs_version.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_allegro_physfs_version.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_allegro_physfs_version.3alleg5", "source2": "al_get_allegro_physfs_version.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint32_t al_get_allegro_physfs_version(void)\n-uint32_t al_get_allegro_physfs_version(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_allegro_primitives_version.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_allegro_primitives_version.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_allegro_primitives_version.3alleg5", "source2": "al_get_allegro_primitives_version.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint32_t al_get_allegro_primitives_version(void)\n-uint32_t al_get_allegro_primitives_version(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_allegro_ttf_version.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_allegro_ttf_version.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_allegro_ttf_version.3alleg5", "source2": "al_get_allegro_ttf_version.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint32_t al_get_allegro_ttf_version(void)\n-uint32_t al_get_allegro_ttf_version(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_allegro_video_version.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_allegro_video_version.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_allegro_video_version.3alleg5", "source2": "al_get_allegro_video_version.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint32_t al_get_allegro_video_version(void)\n-uint32_t al_get_allegro_video_version(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the (compiled) version of the addon, in the same format as\n al_get_allegro_version(3alleg5).\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_depth_size.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_depth_size.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_depth_size.3alleg5", "source2": "al_get_audio_depth_size.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n size_t al_get_audio_depth_size(ALLEGRO_AUDIO_DEPTH depth)\n-size_t al_get_audio_depth_size(ALLEGRO_AUDIO_DEPTH depth)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the size of a sample, in bytes, for the given format.\n The format is one of the values listed under\n ALLEGRO_AUDIO_DEPTH(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_device_name.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_device_name.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_device_name.3alleg5", "source2": "al_get_audio_device_name.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n const char* al_get_audio_device_name(const ALLEGRO_AUDIO_DEVICE * device)\n-const char* al_get_audio_device_name(const ALLEGRO_AUDIO_DEVICE * device)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Get the user friendly display name of the device.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_output_device.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_output_device.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_output_device.3alleg5", "source2": "al_get_audio_output_device.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n const ALLEGRO_AUDIO_DEVICE* al_get_audio_output_device(int index)\n-const ALLEGRO_AUDIO_DEVICE* al_get_audio_output_device(int index)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Get the output audio device of the specified index.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_recorder_event.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_recorder_event.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_recorder_event.3alleg5", "source2": "al_get_audio_recorder_event.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_RECORDER_EVENT *al_get_audio_recorder_event(ALLEGRO_EVENT *event)\n-ALLEGRO_AUDIO_RECORDER_EVENT *al_get_audio_recorder_event(ALLEGRO_EVENT *event)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the event as an ALLEGRO_AUDIO_RECORDER_EVENT(3alleg5).\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_recorder_event_source.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_recorder_event_source.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_recorder_event_source.3alleg5", "source2": "al_get_audio_recorder_event_source.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_EVENT_SOURCE *al_get_audio_recorder_event_source(ALLEGRO_AUDIO_RECORDER *r)\n-ALLEGRO_EVENT_SOURCE *al_get_audio_recorder_event_source(ALLEGRO_AUDIO_RECORDER *r)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the event source for the recorder that generates the various\n recording events.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_attached.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_attached.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_attached.3alleg5", "source2": "al_get_audio_stream_attached.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream)\n-bool al_get_audio_stream_attached(const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return whether the stream is attached to something.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_channels.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_channels.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_channels.3alleg5", "source2": "al_get_audio_stream_channels.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels(\n const ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_CHANNEL_CONF al_get_audio_stream_channels(\n- const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the stream channel configuration.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_depth.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_depth.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_depth.3alleg5", "source2": "al_get_audio_stream_depth.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth(\n const ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_AUDIO_DEPTH al_get_audio_stream_depth(\n- const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the stream audio depth.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_event_source.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_event_source.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_event_source.3alleg5", "source2": "al_get_audio_stream_event_source.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source(\n ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_EVENT_SOURCE *al_get_audio_stream_event_source(\n- ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Retrieve the associated event source.\n .PP\n See al_get_audio_stream_fragment(3alleg5) for a description of the\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_fragment.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_fragment.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_fragment.3alleg5", "source2": "al_get_audio_stream_fragment.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)\n-void *al_get_audio_stream_fragment(const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n When using Allegro\\[cq]s audio streaming, you will use this function to\n continuously provide new sample data to a stream.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_fragments.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_fragments.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_fragments.3alleg5", "source2": "al_get_audio_stream_fragments.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_audio_stream_fragments(const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the number of fragments this stream uses.\n This is the same value as passed to al_create_audio_stream(3alleg5) when\n a new stream is created.\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_frequency.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_frequency.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_frequency.3alleg5", "source2": "al_get_audio_stream_frequency.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_audio_stream_frequency(const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the stream frequency (in Hz).\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_gain.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_gain.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_gain.3alleg5", "source2": "al_get_audio_stream_gain.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream)\n-float al_get_audio_stream_gain(const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the playback gain of the stream.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_length.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_length.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_length.3alleg5", "source2": "al_get_audio_stream_length.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_audio_stream_length(const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the stream length in samples.\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_length_secs.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_length_secs.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_length_secs.3alleg5", "source2": "al_get_audio_stream_length_secs.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream)\n-double al_get_audio_stream_length_secs(ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the length of the stream in seconds, if known.\n Otherwise returns zero.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_pan.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_pan.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_pan.3alleg5", "source2": "al_get_audio_stream_pan.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream)\n-float al_get_audio_stream_pan(const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Get the pan value of the stream.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_played_samples.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_played_samples.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_played_samples.3alleg5", "source2": "al_get_audio_stream_played_samples.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream)\n-uint64_t al_get_audio_stream_played_samples(const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Get the number of samples consumed by the parent since the audio stream\n was started.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_playing.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_playing.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_playing.3alleg5", "source2": "al_get_audio_stream_playing.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream)\n-bool al_get_audio_stream_playing(const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return true if the stream is playing.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_playmode.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_playmode.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_playmode.3alleg5", "source2": "al_get_audio_stream_playmode.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_PLAYMODE al_get_audio_stream_playmode(\n const ALLEGRO_AUDIO_STREAM *stream)\n-ALLEGRO_PLAYMODE al_get_audio_stream_playmode(\n- const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the playback mode of the stream.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_position_secs.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_position_secs.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_position_secs.3alleg5", "source2": "al_get_audio_stream_position_secs.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream)\n-double al_get_audio_stream_position_secs(ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the position of the stream in seconds.\n Currently this can only be called on streams created with\n al_load_audio_stream(3alleg5), al_play_audio_stream(3alleg5),\n"}]}, {"source1": "./usr/share/man/man3/al_get_audio_stream_speed.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_audio_stream_speed.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_audio_stream_speed.3alleg5", "source2": "al_get_audio_stream_speed.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream)\n-float al_get_audio_stream_speed(const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the relative playback speed of the stream.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_available_audio_stream_fragments.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_available_audio_stream_fragments.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_available_audio_stream_fragments.3alleg5", "source2": "al_get_available_audio_stream_fragments.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n unsigned int al_get_available_audio_stream_fragments(\n const ALLEGRO_AUDIO_STREAM *stream)\n-unsigned int al_get_available_audio_stream_fragments(\n- const ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the number of available fragments in the stream, that is,\n fragments which are not currently filled with data for playback.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_get_channel_count.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_channel_count.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_channel_count.3alleg5", "source2": "al_get_channel_count.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n size_t al_get_channel_count(ALLEGRO_CHANNEL_CONF conf)\n-size_t al_get_channel_count(ALLEGRO_CHANNEL_CONF conf)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the number of channels for the given channel configuration, which\n is one of the values listed under ALLEGRO_CHANNEL_CONF(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_default_menu_event_source.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_default_menu_event_source.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_default_menu_event_source.3alleg5", "source2": "al_get_default_menu_event_source.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void)\n-ALLEGRO_EVENT_SOURCE *al_get_default_menu_event_source(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the default event source used for menu clicks.\n If a menu was not given its own event source via\n al_enable_menu_event_source(3alleg5), then it will use this default\n"}]}, {"source1": "./usr/share/man/man3/al_get_default_mixer.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_default_mixer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_default_mixer.3alleg5", "source2": "al_get_default_mixer.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_MIXER *al_get_default_mixer(void)\n-ALLEGRO_MIXER *al_get_default_mixer(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the default mixer, or NULL if one has not been set.\n Although different configurations of mixers and voices can be used, in\n most cases a single mixer attached to a voice is what you want.\n"}]}, {"source1": "./usr/share/man/man3/al_get_default_voice.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_default_voice.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_default_voice.3alleg5", "source2": "al_get_default_voice.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_VOICE *al_get_default_voice(void)\n-ALLEGRO_VOICE *al_get_default_voice(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the default voice or NULL if there is none.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_display_menu.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_display_menu.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_display_menu.3alleg5", "source2": "al_get_display_menu.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *display)\n-ALLEGRO_MENU *al_get_display_menu(ALLEGRO_DISPLAY *display)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the menu associated with the \\f[V]display\\f[R], or\n \\f[V]NULL\\f[R] if it does not have a menu.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_get_fallback_font.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_fallback_font.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_fallback_font.3alleg5", "source2": "al_get_fallback_font.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font)\n-ALLEGRO_FONT *al_get_fallback_font(ALLEGRO_FONT *font)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Retrieves the fallback font for this font or NULL.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_font_ascent.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_font_ascent.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_font_ascent.3alleg5", "source2": "al_get_font_ascent.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_font_ascent(const ALLEGRO_FONT *f)\n-int al_get_font_ascent(const ALLEGRO_FONT *f)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the ascent of the specified font.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_font_descent.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_font_descent.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_font_descent.3alleg5", "source2": "al_get_font_descent.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_font_descent(const ALLEGRO_FONT *f)\n-int al_get_font_descent(const ALLEGRO_FONT *f)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the descent of the specified font.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_font_line_height.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_font_line_height.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_font_line_height.3alleg5", "source2": "al_get_font_line_height.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_font_line_height(const ALLEGRO_FONT *f)\n-int al_get_font_line_height(const ALLEGRO_FONT *f)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the usual height of a line of text in the specified font.\n For bitmap fonts this is simply the height of all glyph bitmaps.\n For truetype fonts it is whatever the font file specifies.\n"}]}, {"source1": "./usr/share/man/man3/al_get_font_ranges.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_font_ranges.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_font_ranges.3alleg5", "source2": "al_get_font_ranges.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges)\n-int al_get_font_ranges(ALLEGRO_FONT *f, int ranges_count, int *ranges)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Gets information about all glyphs contained in a font, as a list of\n ranges.\n Ranges have the same format as with al_grab_font_from_bitmap(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_glyph.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_glyph.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_glyph.3alleg5", "source2": "al_get_glyph.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, ALLEGRO_GLYPH *glyph)\n-bool al_get_glyph(const ALLEGRO_FONT *f, int prev_codepoint, int codepoint, ALLEGRO_GLYPH *glyph)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Gets all the information about a glyph, including the bitmap, needed to\n draw it yourself.\n prev_codepoint is the codepoint in the string before the one you want to\n"}]}, {"source1": "./usr/share/man/man3/al_get_glyph_advance.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_glyph_advance.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_glyph_advance.3alleg5", "source2": "al_get_glyph_advance.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)\n-int al_get_glyph_advance(const ALLEGRO_FONT *f, int codepoint1, int codepoint2)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This function returns by how much the x position should be advanced for\n left to right text drawing when the glyph that corresponds to codepoint1\n has been drawn, and the glyph that corresponds to codepoint2 will be the\n"}]}, {"source1": "./usr/share/man/man3/al_get_glyph_dimensions.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_glyph_dimensions.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_glyph_dimensions.3alleg5", "source2": "al_get_glyph_dimensions.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_get_glyph_dimensions(const ALLEGRO_FONT *f,\n int codepoint, int *bbx, int *bby, int *bbw, int *bbh)\n-bool al_get_glyph_dimensions(const ALLEGRO_FONT *f,\n- int codepoint, int *bbx, int *bby, int *bbw, int *bbh)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Sometimes, the al_get_glyph_width(3alleg5) or\n al_get_glyph_advance(3alleg5) functions are not enough for exact glyph\n placement, so this function returns some additional information,\n"}]}, {"source1": "./usr/share/man/man3/al_get_glyph_width.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_glyph_width.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_glyph_width.3alleg5", "source2": "al_get_glyph_width.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint)\n-int al_get_glyph_width(const ALLEGRO_FONT *f, int codepoint)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This function returns the width in pixels of the glyph that corresponds\n with \\f[V]codepoint\\f[R] in the font \\f[V]font\\f[R].\n Returns zero if the font does not have such a glyph.\n"}]}, {"source1": "./usr/share/man/man3/al_get_index_buffer_size.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_index_buffer_size.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_index_buffer_size.3alleg5", "source2": "al_get_index_buffer_size.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer)\n-int al_get_index_buffer_size(ALLEGRO_INDEX_BUFFER* buffer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the size of the index buffer\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_menu_item_caption.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_menu_item_caption.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_menu_item_caption.3alleg5", "source2": "al_get_menu_item_caption.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos)\n-const char *al_get_menu_item_caption(ALLEGRO_MENU *menu, int pos)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the caption associated with the menu item.\n It is valid as long as the caption is not modified.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_menu_item_flags.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_menu_item_flags.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_menu_item_flags.3alleg5", "source2": "al_get_menu_item_flags.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos)\n-int al_get_menu_item_flags(ALLEGRO_MENU *menu, int pos)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the currently set flags.\n See al_insert_menu_item(3alleg5) for a description of the available\n flags.\n"}]}, {"source1": "./usr/share/man/man3/al_get_menu_item_icon.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_menu_item_icon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_menu_item_icon.3alleg5", "source2": "al_get_menu_item_icon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos)\n-ALLEGRO_BITMAP *al_get_menu_item_icon(ALLEGRO_MENU *menu, int pos)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the icon associated with the menu.\n It is safe to draw to the returned bitmap, but you must call\n al_set_menu_item_icon(3alleg5) in order for the changes to be applied.\n"}]}, {"source1": "./usr/share/man/man3/al_get_mixer_attached.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_mixer_attached.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_mixer_attached.3alleg5", "source2": "al_get_mixer_attached.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_get_mixer_attached(const ALLEGRO_MIXER *mixer)\n-bool al_get_mixer_attached(const ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return true if the mixer is attached to something.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_mixer_channels.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_mixer_channels.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_mixer_channels.3alleg5", "source2": "al_get_mixer_channels.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_CHANNEL_CONF al_get_mixer_channels(const ALLEGRO_MIXER *mixer)\n-ALLEGRO_CHANNEL_CONF al_get_mixer_channels(const ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the mixer channel configuration.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_mixer_depth.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_mixer_depth.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_mixer_depth.3alleg5", "source2": "al_get_mixer_depth.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_DEPTH al_get_mixer_depth(const ALLEGRO_MIXER *mixer)\n-ALLEGRO_AUDIO_DEPTH al_get_mixer_depth(const ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the mixer audio depth.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_mixer_frequency.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_mixer_frequency.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_mixer_frequency.3alleg5", "source2": "al_get_mixer_frequency.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n unsigned int al_get_mixer_frequency(const ALLEGRO_MIXER *mixer)\n-unsigned int al_get_mixer_frequency(const ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the mixer frequency (in Hz).\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_mixer_gain.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_mixer_gain.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_mixer_gain.3alleg5", "source2": "al_get_mixer_gain.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n float al_get_mixer_gain(const ALLEGRO_MIXER *mixer)\n-float al_get_mixer_gain(const ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the mixer gain (amplification factor).\n The default is 1.0.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_get_mixer_playing.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_mixer_playing.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_mixer_playing.3alleg5", "source2": "al_get_mixer_playing.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_get_mixer_playing(const ALLEGRO_MIXER *mixer)\n-bool al_get_mixer_playing(const ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return true if the mixer is playing.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_mixer_quality.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_mixer_quality.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_mixer_quality.3alleg5", "source2": "al_get_mixer_quality.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_MIXER_QUALITY al_get_mixer_quality(const ALLEGRO_MIXER *mixer)\n-ALLEGRO_MIXER_QUALITY al_get_mixer_quality(const ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the mixer quality.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_native_file_dialog_count.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_native_file_dialog_count.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_native_file_dialog_count.3alleg5", "source2": "al_get_native_file_dialog_count.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog)\n-int al_get_native_file_dialog_count(const ALLEGRO_FILECHOOSER *dialog)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the number of files selected, or 0 if the dialog was cancelled.\n"}]}, {"source1": "./usr/share/man/man3/al_get_native_file_dialog_path.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_native_file_dialog_path.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_native_file_dialog_path.3alleg5", "source2": "al_get_native_file_dialog_path.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n const char *al_get_native_file_dialog_path(\n const ALLEGRO_FILECHOOSER *dialog, size_t i)\n-const char *al_get_native_file_dialog_path(\n- const ALLEGRO_FILECHOOSER *dialog, size_t i)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns one of the selected paths with index \\f[V]i\\f[R].\n The index should range from \\f[V]0\\f[R] to the return value of\n al_get_native_file_dialog_count(3alleg5) \\f[V]-1\\f[R].\n"}]}, {"source1": "./usr/share/man/man3/al_get_native_text_log_event_source.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_native_text_log_event_source.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_native_text_log_event_source.3alleg5", "source2": "al_get_native_text_log_event_source.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source(\n ALLEGRO_TEXTLOG *textlog)\n-ALLEGRO_EVENT_SOURCE *al_get_native_text_log_event_source(\n- ALLEGRO_TEXTLOG *textlog)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Get an event source for a text log window.\n The possible events are:\n .TP\n"}]}, {"source1": "./usr/share/man/man3/al_get_num_audio_output_devices.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_num_audio_output_devices.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_num_audio_output_devices.3alleg5", "source2": "al_get_num_audio_output_devices.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_num_audio_output_devices()\n-int al_get_num_audio_output_devices()\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Get the number of available audio output devices on the system.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample.3alleg5", "source2": "al_get_sample.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl)\n-ALLEGRO_SAMPLE *al_get_sample(ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the sample data that the sample instance plays.\n .PP\n Note this returns a pointer to an internal structure, \\f[I]not\\f[R] the\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_channels.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_channels.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_channels.3alleg5", "source2": "al_get_sample_channels.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl)\n-ALLEGRO_CHANNEL_CONF al_get_sample_channels(const ALLEGRO_SAMPLE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the channel configuration of the sample.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_data.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_data.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_data.3alleg5", "source2": "al_get_sample_data.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void *al_get_sample_data(const ALLEGRO_SAMPLE *spl)\n-void *al_get_sample_data(const ALLEGRO_SAMPLE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return a pointer to the raw sample data.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_depth.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_depth.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_depth.3alleg5", "source2": "al_get_sample_depth.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl)\n-ALLEGRO_AUDIO_DEPTH al_get_sample_depth(const ALLEGRO_SAMPLE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the audio depth of the sample.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_frequency.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_frequency.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_frequency.3alleg5", "source2": "al_get_sample_frequency.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl)\n-unsigned int al_get_sample_frequency(const ALLEGRO_SAMPLE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the frequency (in Hz) of the sample.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_attached.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_attached.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_attached.3alleg5", "source2": "al_get_sample_instance_attached.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_get_sample_instance_attached(const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return whether the sample instance is attached to something.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_channels.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_channels.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_channels.3alleg5", "source2": "al_get_sample_instance_channels.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels(\n const ALLEGRO_SAMPLE_INSTANCE *spl)\n-ALLEGRO_CHANNEL_CONF al_get_sample_instance_channels(\n- const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the channel configuration of the sample instance\\[cq]s sample\n data.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_depth.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_depth.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_depth.3alleg5", "source2": "al_get_sample_instance_depth.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-ALLEGRO_AUDIO_DEPTH al_get_sample_instance_depth(const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the audio depth of the sample instance\\[cq]s sample data.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_frequency.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_frequency.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_frequency.3alleg5", "source2": "al_get_sample_instance_frequency.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-unsigned int al_get_sample_instance_frequency(const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the frequency (in Hz) of the sample instance\\[cq]s sample data.\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_gain.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_gain.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_gain.3alleg5", "source2": "al_get_sample_instance_gain.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_gain(const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the playback gain of the sample instance.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_length.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_length.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_length.3alleg5", "source2": "al_get_sample_instance_length.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-unsigned int al_get_sample_instance_length(const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the length of the sample instance in sample values.\n This property may differ from the length of the instance\\[cq]s sample\n data.\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_pan.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_pan.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_pan.3alleg5", "source2": "al_get_sample_instance_pan.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_pan(const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Get the pan value of the sample instance.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_playing.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_playing.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_playing.3alleg5", "source2": "al_get_sample_instance_playing.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_get_sample_instance_playing(const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return true if the sample instance is in the playing state.\n This may be true even if the instance is not attached to anything.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_playmode.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_playmode.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_playmode.3alleg5", "source2": "al_get_sample_instance_playmode.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-ALLEGRO_PLAYMODE al_get_sample_instance_playmode(const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the playback mode of the sample instance.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_position.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_position.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_position.3alleg5", "source2": "al_get_sample_instance_position.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-unsigned int al_get_sample_instance_position(const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Get the playback position of a sample instance.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_speed.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_speed.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_speed.3alleg5", "source2": "al_get_sample_instance_speed.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_speed(const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the relative playback speed of the sample instance.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_instance_time.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_instance_time.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_instance_time.3alleg5", "source2": "al_get_sample_instance_time.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl)\n-float al_get_sample_instance_time(const ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the length of the sample instance in seconds, assuming a playback\n speed of 1.0.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_get_sample_length.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_sample_length.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_sample_length.3alleg5", "source2": "al_get_sample_length.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl)\n-unsigned int al_get_sample_length(const ALLEGRO_SAMPLE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the length of the sample in sample values.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_text_dimensions.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_text_dimensions.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_text_dimensions.3alleg5", "source2": "al_get_text_dimensions.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_get_text_dimensions(const ALLEGRO_FONT *f,\n char const *text,\n int *bbx, int *bby, int *bbw, int *bbh)\n-void al_get_text_dimensions(const ALLEGRO_FONT *f,\n- char const *text,\n- int *bbx, int *bby, int *bbw, int *bbh)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Sometimes, the al_get_text_width(3alleg5) and\n al_get_font_line_height(3alleg5) functions are not enough for exact text\n placement, so this function returns some additional information.\n"}]}, {"source1": "./usr/share/man/man3/al_get_text_width.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_text_width.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_text_width.3alleg5", "source2": "al_get_text_width.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_text_width(const ALLEGRO_FONT *f, const char *str)\n-int al_get_text_width(const ALLEGRO_FONT *f, const char *str)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Calculates the length of a string in a particular font, in pixels.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_ustr_dimensions.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_ustr_dimensions.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_ustr_dimensions.3alleg5", "source2": "al_get_ustr_dimensions.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n void al_get_ustr_dimensions(const ALLEGRO_FONT *f,\n ALLEGRO_USTR const *ustr,\n int *bbx, int *bby, int *bbw, int *bbh)\n-void al_get_ustr_dimensions(const ALLEGRO_FONT *f,\n- ALLEGRO_USTR const *ustr,\n- int *bbx, int *bby, int *bbw, int *bbh)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_get_text_dimensions(3alleg5), except the text is passed as an\n ALLEGRO_USTR instead of a NUL-terminated char array.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_get_ustr_width.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_ustr_width.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_ustr_width.3alleg5", "source2": "al_get_ustr_width.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)\n-int al_get_ustr_width(const ALLEGRO_FONT *f, ALLEGRO_USTR const *ustr)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_get_text_width(3alleg5) but expects an ALLEGRO_USTR.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_vertex_buffer_size.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_vertex_buffer_size.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_vertex_buffer_size.3alleg5", "source2": "al_get_vertex_buffer_size.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer)\n-int al_get_vertex_buffer_size(ALLEGRO_VERTEX_BUFFER* buffer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the size of the vertex buffer\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_video_audio_rate.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_video_audio_rate.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_video_audio_rate.3alleg5", "source2": "al_get_video_audio_rate.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n double al_get_video_audio_rate(ALLEGRO_VIDEO *video)\n-double al_get_video_audio_rate(ALLEGRO_VIDEO *video)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the audio rate of the video, in Hz.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_video_event_source.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_video_event_source.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_video_event_source.3alleg5", "source2": "al_get_video_event_source.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video)\n-ALLEGRO_EVENT_SOURCE *al_get_video_event_source(ALLEGRO_VIDEO *video)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Get an event source for the video.\n The possible events are described under\n ALLEGRO_VIDEO_EVENT_TYPE(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_get_video_fps.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_video_fps.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_video_fps.3alleg5", "source2": "al_get_video_fps.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n double al_get_video_fps(ALLEGRO_VIDEO *video)\n-double al_get_video_fps(ALLEGRO_VIDEO *video)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the speed of the video in frames per second.\n Often this will not be an integer value.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_get_video_frame.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_video_frame.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_video_frame.3alleg5", "source2": "al_get_video_frame.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video)\n-ALLEGRO_BITMAP *al_get_video_frame(ALLEGRO_VIDEO *video)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the current video frame.\n The bitmap is owned by the video so do not attempt to free it.\n The bitmap will stay valid until the next call to al_get_video_frame.\n"}]}, {"source1": "./usr/share/man/man3/al_get_video_position.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_video_position.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_video_position.3alleg5", "source2": "al_get_video_position.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE which)\n-double al_get_video_position(ALLEGRO_VIDEO *video, ALLEGRO_VIDEO_POSITION_TYPE which)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the current position of the video stream in seconds since the\n beginning.\n The parameter is one of the ALLEGRO_VIDEO_POSITION_TYPE(3alleg5)\n"}]}, {"source1": "./usr/share/man/man3/al_get_video_scaled_height.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_video_scaled_height.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_video_scaled_height.3alleg5", "source2": "al_get_video_scaled_height.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n float al_get_video_scaled_height(ALLEGRO_VIDEO *video)\n-float al_get_video_scaled_height(ALLEGRO_VIDEO *video)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the height with which the video frame should be drawn.\n Videos often do not use square pixels, so this will may return a value\n larger than the height of the frame bitmap.\n"}]}, {"source1": "./usr/share/man/man3/al_get_video_scaled_width.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_video_scaled_width.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_video_scaled_width.3alleg5", "source2": "al_get_video_scaled_width.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n float al_get_video_scaled_width(ALLEGRO_VIDEO *video)\n-float al_get_video_scaled_width(ALLEGRO_VIDEO *video)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns the width with which the video frame should be drawn.\n Videos often do not use square pixels, so this will may return a value\n larger than the width of the frame bitmap.\n"}]}, {"source1": "./usr/share/man/man3/al_get_voice_channels.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_voice_channels.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_voice_channels.3alleg5", "source2": "al_get_voice_channels.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_CHANNEL_CONF al_get_voice_channels(const ALLEGRO_VOICE *voice)\n-ALLEGRO_CHANNEL_CONF al_get_voice_channels(const ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the channel configuration of the voice.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_voice_depth.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_voice_depth.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_voice_depth.3alleg5", "source2": "al_get_voice_depth.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_DEPTH al_get_voice_depth(const ALLEGRO_VOICE *voice)\n-ALLEGRO_AUDIO_DEPTH al_get_voice_depth(const ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the audio depth of the voice.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_voice_frequency.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_voice_frequency.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_voice_frequency.3alleg5", "source2": "al_get_voice_frequency.3alleg5", "unified_diff": "@@ -22,13 +22,12 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n unsigned int al_get_voice_frequency(const ALLEGRO_VOICE *voice)\n-unsigned int al_get_voice_frequency(const ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return the frequency of the voice (in Hz), e.g.\\ 44100.\n"}]}, {"source1": "./usr/share/man/man3/al_get_voice_playing.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_voice_playing.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_voice_playing.3alleg5", "source2": "al_get_voice_playing.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_get_voice_playing(const ALLEGRO_VOICE *voice)\n-bool al_get_voice_playing(const ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Return true if the voice is currently playing.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_get_voice_position.3alleg5.gz", "source2": "./usr/share/man/man3/al_get_voice_position.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_get_voice_position.3alleg5", "source2": "al_get_voice_position.3alleg5", "unified_diff": "@@ -21,15 +21,14 @@\n al_get_voice_position - Allegro 5 API\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n-unsigned int al_get_vALLEGRO_TIMEOUT\n unsigned int al_get_voice_position(const ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n When the voice has a non-streaming object attached to it, e.g.\\ a\n sample, returns the voice\\[cq]s current sample position.\n"}]}, {"source1": "./usr/share/man/man3/al_grab_font_from_bitmap.3alleg5.gz", "source2": "./usr/share/man/man3/al_grab_font_from_bitmap.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_grab_font_from_bitmap.3alleg5", "source2": "al_grab_font_from_bitmap.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp,\n int ranges_n, const int ranges[])\n-ALLEGRO_FONT *al_grab_font_from_bitmap(ALLEGRO_BITMAP *bmp,\n- int ranges_n, const int ranges[])\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Creates a new font from an Allegro bitmap.\n You can delete the bitmap after the function returns as the font will\n contain a copy for itself.\n"}]}, {"source1": "./usr/share/man/man3/al_identify_sample.3alleg5.gz", "source2": "./usr/share/man/man3/al_identify_sample.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_identify_sample.3alleg5", "source2": "al_identify_sample.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n char const *al_identify_sample(char const *filename)\n-char const *al_identify_sample(char const *filename)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This works exactly as al_identify_sample_f(3alleg5) but you specify the\n filename of the file for which to detect the type and not a file handle.\n The extension, if any, of the passed filename is not taken into account\n"}]}, {"source1": "./usr/share/man/man3/al_identify_sample_f.3alleg5.gz", "source2": "./usr/share/man/man3/al_identify_sample_f.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_identify_sample_f.3alleg5", "source2": "al_identify_sample_f.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n char const *al_identify_sample_f(ALLEGRO_FILE *fp)\n-char const *al_identify_sample_f(ALLEGRO_FILE *fp)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Tries to guess the audio file type of the open ALLEGRO_FILE by reading\n the first few bytes.\n By default Allegro cannot recognize any file types, but calling\n"}]}, {"source1": "./usr/share/man/man3/al_identify_video.3alleg5.gz", "source2": "./usr/share/man/man3/al_identify_video.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_identify_video.3alleg5", "source2": "al_identify_video.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n char const *al_identify_video(char const *filename)\n-char const *al_identify_video(char const *filename)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This works exactly as al_identify_video_f(3alleg5) but you specify the\n filename of the file for which to detect the type and not a file handle.\n The extension, if any, of the passed filename is not taken into account\n"}]}, {"source1": "./usr/share/man/man3/al_identify_video_f.3alleg5.gz", "source2": "./usr/share/man/man3/al_identify_video_f.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_identify_video_f.3alleg5", "source2": "al_identify_video_f.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n char const *al_identify_video_f(ALLEGRO_FILE *fp)\n-char const *al_identify_video_f(ALLEGRO_FILE *fp)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Tries to guess the video file type of the open ALLEGRO_FILE by reading\n the first few bytes.\n By default Allegro cannot recognize any file types, but calling\n"}]}, {"source1": "./usr/share/man/man3/al_init.3alleg5.gz", "source2": "./usr/share/man/man3/al_init.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_init.3alleg5", "source2": "al_init.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n #define al_init() (al_install_system(ALLEGRO_VERSION_INT, atexit))\n-#define al_init() (al_install_system(ALLEGRO_VERSION_INT, atexit))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_install_system(3alleg5), but automatically passes in the version\n and uses the atexit function visible in the current binary.\n .RS\n"}]}, {"source1": "./usr/share/man/man3/al_init_acodec_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_init_acodec_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_init_acodec_addon.3alleg5", "source2": "al_init_acodec_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_init_acodec_addon(void)\n-bool al_init_acodec_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This function registers all the known audio file type handlers for\n al_load_sample(3alleg5), al_save_sample(3alleg5),\n al_load_audio_stream(3alleg5), etc.\n"}]}, {"source1": "./usr/share/man/man3/al_init_font_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_init_font_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_init_font_addon.3alleg5", "source2": "al_init_font_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_init_font_addon(void)\n-bool al_init_font_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Initialise the font addon.\n .PP\n Note that if you intend to load bitmap fonts, you will need to\n"}]}, {"source1": "./usr/share/man/man3/al_init_image_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_init_image_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_init_image_addon.3alleg5", "source2": "al_init_image_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_init_image_addon(void)\n-bool al_init_image_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Initializes the image addon.\n This registers bitmap format handlers for al_load_bitmap(3alleg5),\n al_load_bitmap_f(3alleg5), al_save_bitmap(3alleg5),\n"}]}, {"source1": "./usr/share/man/man3/al_init_native_dialog_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_init_native_dialog_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_init_native_dialog_addon.3alleg5", "source2": "al_init_native_dialog_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_init_native_dialog_addon(void)\n-bool al_init_native_dialog_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Initialise the native dialog addon.\n .PP\n Returns true on success, false on error.\n"}]}, {"source1": "./usr/share/man/man3/al_init_primitives_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_init_primitives_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_init_primitives_addon.3alleg5", "source2": "al_init_primitives_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_init_primitives_addon(void)\n-bool al_init_primitives_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Initializes the primitives addon.\n .PP\n \\f[I]Returns:\\f[R] True on success, false on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_init_ttf_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_init_ttf_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_init_ttf_addon.3alleg5", "source2": "al_init_ttf_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_init_ttf_addon(void)\n-bool al_init_ttf_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Call this after al_init_font_addon(3alleg5) to make\n al_load_font(3alleg5) recognize \\[lq].ttf\\[rq] and other formats\n supported by al_load_ttf_font(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_init_video_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_init_video_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_init_video_addon.3alleg5", "source2": "al_init_video_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_init_video_addon(void)\n-bool al_init_video_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Initializes the video addon.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_insert_menu_item.3alleg5.gz", "source2": "./usr/share/man/man3/al_insert_menu_item.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_insert_menu_item.3alleg5", "source2": "al_insert_menu_item.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title,\n uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n-int al_insert_menu_item(ALLEGRO_MENU *parent, int pos, char const *title,\n- uint16_t id, int flags, ALLEGRO_BITMAP *icon, ALLEGRO_MENU *submenu)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Inserts a menu item at the spot specified.\n See the introductory text for a detailed explanation of how the\n \\f[V]pos\\f[R] parameter is interpreted.\n"}]}, {"source1": "./usr/share/man/man3/al_install_audio.3alleg5.gz", "source2": "./usr/share/man/man3/al_install_audio.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_install_audio.3alleg5", "source2": "al_install_audio.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_install_audio(void)\n-bool al_install_audio(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Install the audio subsystem.\n .PP\n Returns true on success, false on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_is_acodec_addon_initialized.3alleg5.gz", "source2": "./usr/share/man/man3/al_is_acodec_addon_initialized.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_is_acodec_addon_initialized.3alleg5", "source2": "al_is_acodec_addon_initialized.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_is_acodec_addon_initialized(void)\n-bool al_is_acodec_addon_initialized(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns true if the acodec addon is initialized, otherwise returns\n false.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_is_audio_installed.3alleg5.gz", "source2": "./usr/share/man/man3/al_is_audio_installed.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_is_audio_installed.3alleg5", "source2": "al_is_audio_installed.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_is_audio_installed(void)\n-bool al_is_audio_installed(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns true if al_install_audio(3alleg5) was called previously and\n returned successfully.\n"}]}, {"source1": "./usr/share/man/man3/al_is_audio_recorder_recording.3alleg5.gz", "source2": "./usr/share/man/man3/al_is_audio_recorder_recording.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_is_audio_recorder_recording.3alleg5", "source2": "al_is_audio_recorder_recording.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_is_audio_recorder_recording(ALLEGRO_AUDIO_RECORDER *r)\n-bool al_is_audio_recorder_recording(ALLEGRO_AUDIO_RECORDER *r)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns true if the audio recorder is currently capturing data and\n generating events.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_is_font_addon_initialized.3alleg5.gz", "source2": "./usr/share/man/man3/al_is_font_addon_initialized.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_is_font_addon_initialized.3alleg5", "source2": "al_is_font_addon_initialized.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_is_font_addon_initialized(void)\n-bool al_is_font_addon_initialized(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns true if the font addon is initialized, otherwise returns false.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_is_image_addon_initialized.3alleg5.gz", "source2": "./usr/share/man/man3/al_is_image_addon_initialized.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_is_image_addon_initialized.3alleg5", "source2": "al_is_image_addon_initialized.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_is_image_addon_initialized(void)\n-bool al_is_image_addon_initialized(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns true if the image addon is initialized, otherwise returns false.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_is_native_dialog_addon_initialized.3alleg5.gz", "source2": "./usr/share/man/man3/al_is_native_dialog_addon_initialized.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_is_native_dialog_addon_initialized.3alleg5", "source2": "al_is_native_dialog_addon_initialized.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_is_native_dialog_addon_initialized(void)\n-bool al_is_native_dialog_addon_initialized(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns true if the native dialog addon is initialized, otherwise\n returns false.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_is_primitives_addon_initialized.3alleg5.gz", "source2": "./usr/share/man/man3/al_is_primitives_addon_initialized.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_is_primitives_addon_initialized.3alleg5", "source2": "al_is_primitives_addon_initialized.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_is_primitives_addon_initialized(void)\n-bool al_is_primitives_addon_initialized(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns true if the primitives addon is initialized, otherwise returns\n false.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_is_ttf_addon_initialized.3alleg5.gz", "source2": "./usr/share/man/man3/al_is_ttf_addon_initialized.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_is_ttf_addon_initialized.3alleg5", "source2": "al_is_ttf_addon_initialized.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_is_ttf_addon_initialized(void)\n-bool al_is_ttf_addon_initialized(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns true if the TTF addon is initialized, otherwise returns false.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_is_video_addon_initialized.3alleg5.gz", "source2": "./usr/share/man/man3/al_is_video_addon_initialized.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_is_video_addon_initialized.3alleg5", "source2": "al_is_video_addon_initialized.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_is_video_addon_initialized(void)\n-bool al_is_video_addon_initialized(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns true if the video addon is initialized, otherwise returns false.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_is_video_playing.3alleg5.gz", "source2": "./usr/share/man/man3/al_is_video_playing.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_is_video_playing.3alleg5", "source2": "al_is_video_playing.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_is_video_playing(ALLEGRO_VIDEO *video)\n-bool al_is_video_playing(ALLEGRO_VIDEO *video)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns true if the video is currently playing.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_load_audio_stream.3alleg5.gz", "source2": "./usr/share/man/man3/al_load_audio_stream.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_load_audio_stream.3alleg5", "source2": "al_load_audio_stream.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename,\n size_t buffer_count, unsigned int samples)\n-ALLEGRO_AUDIO_STREAM *al_load_audio_stream(const char *filename,\n- size_t buffer_count, unsigned int samples)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Loads an audio file from disk as it is needed.\n .PP\n Unlike regular streams, the one returned by this function need not be\n"}]}, {"source1": "./usr/share/man/man3/al_load_audio_stream_f.3alleg5.gz", "source2": "./usr/share/man/man3/al_load_audio_stream_f.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_load_audio_stream_f.3alleg5", "source2": "al_load_audio_stream_f.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_STREAM *al_load_audio_stream_f(ALLEGRO_FILE* fp, const char *ident,\n size_t buffer_count, unsigned int samples)\n-ALLEGRO_AUDIO_STREAM *al_load_audio_stream_f(ALLEGRO_FILE* fp, const char *ident,\n- size_t buffer_count, unsigned int samples)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Loads an audio file from ALLEGRO_FILE(3alleg5) stream as it is needed.\n .PP\n Unlike regular streams, the one returned by this function need not be\n"}]}, {"source1": "./usr/share/man/man3/al_load_bitmap_font.3alleg5.gz", "source2": "./usr/share/man/man3/al_load_bitmap_font.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_load_bitmap_font.3alleg5", "source2": "al_load_bitmap_font.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_FONT *al_load_bitmap_font(const char *fname)\n-ALLEGRO_FONT *al_load_bitmap_font(const char *fname)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Load a bitmap font from a file.\n This is done by first calling al_load_bitmap_flags(3alleg5) and then\n al_grab_font_from_bitmap(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_load_bitmap_font_flags.3alleg5.gz", "source2": "./usr/share/man/man3/al_load_bitmap_font_flags.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_load_bitmap_font_flags.3alleg5", "source2": "al_load_bitmap_font_flags.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags)\n-ALLEGRO_FONT *al_load_bitmap_font_flags(const char *fname, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_load_bitmap_font(3alleg5) but additionally takes a flags\n parameter which is a bitfield containing a combination of the following:\n .TP\n"}]}, {"source1": "./usr/share/man/man3/al_load_font.3alleg5.gz", "source2": "./usr/share/man/man3/al_load_font.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_load_font.3alleg5", "source2": "al_load_font.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags)\n-ALLEGRO_FONT *al_load_font(char const *filename, int size, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Loads a font from disk.\n This will use al_load_bitmap_font_flags(3alleg5) if you pass the name of\n a known bitmap format, or else al_load_ttf_font(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_load_sample.3alleg5.gz", "source2": "./usr/share/man/man3/al_load_sample.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_load_sample.3alleg5", "source2": "al_load_sample.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_SAMPLE *al_load_sample(const char *filename)\n-ALLEGRO_SAMPLE *al_load_sample(const char *filename)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Loads a few different audio file formats based on their extension.\n .PP\n Note that this stores the entire file in memory at once, which may be\n"}]}, {"source1": "./usr/share/man/man3/al_load_sample_f.3alleg5.gz", "source2": "./usr/share/man/man3/al_load_sample_f.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_load_sample_f.3alleg5", "source2": "al_load_sample_f.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident)\n-ALLEGRO_SAMPLE *al_load_sample_f(ALLEGRO_FILE* fp, const char *ident)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Loads an audio file from an ALLEGRO_FILE(3alleg5) stream into an\n ALLEGRO_SAMPLE(3alleg5).\n The file type is determined by the passed `ident' parameter, which is a\n"}]}, {"source1": "./usr/share/man/man3/al_load_ttf_font.3alleg5.gz", "source2": "./usr/share/man/man3/al_load_ttf_font.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_load_ttf_font.3alleg5", "source2": "al_load_ttf_font.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags)\n-ALLEGRO_FONT *al_load_ttf_font(char const *filename, int size, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Loads a TrueType font from a file using the FreeType library.\n Quoting from the FreeType FAQ this means support for many different font\n formats:\n"}]}, {"source1": "./usr/share/man/man3/al_load_ttf_font_f.3alleg5.gz", "source2": "./usr/share/man/man3/al_load_ttf_font_f.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_load_ttf_font_f.3alleg5", "source2": "al_load_ttf_font_f.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,\n char const *filename, int size, int flags)\n-ALLEGRO_FONT *al_load_ttf_font_f(ALLEGRO_FILE *file,\n- char const *filename, int size, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_load_ttf_font(3alleg5), but the font is read from the file\n handle.\n The filename is only used to find possible additional files next to a\n"}]}, {"source1": "./usr/share/man/man3/al_load_ttf_font_stretch.3alleg5.gz", "source2": "./usr/share/man/man3/al_load_ttf_font_stretch.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_load_ttf_font_stretch.3alleg5", "source2": "al_load_ttf_font_stretch.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h,\n int flags)\n-ALLEGRO_FONT *al_load_ttf_font_stretch(char const *filename, int w, int h,\n- int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_load_ttf_font(3alleg5), except it takes separate width and\n height parameters instead of a single size parameter.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_load_ttf_font_stretch_f.3alleg5.gz", "source2": "./usr/share/man/man3/al_load_ttf_font_stretch_f.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_load_ttf_font_stretch_f.3alleg5", "source2": "al_load_ttf_font_stretch_f.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file,\n char const *filename, int w, int h, int flags)\n-ALLEGRO_FONT *al_load_ttf_font_stretch_f(ALLEGRO_FILE *file,\n- char const *filename, int w, int h, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_load_ttf_font_stretch(3alleg5), but the font is read from the\n file handle.\n The filename is only used to find possible additional files next to a\n"}]}, {"source1": "./usr/share/man/man3/al_lock_index_buffer.3alleg5.gz", "source2": "./usr/share/man/man3/al_lock_index_buffer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_lock_index_buffer.3alleg5", "source2": "al_lock_index_buffer.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset,\n int length, int flags)\n-void* al_lock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer, int offset,\n- int length, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Locks a index buffer so you can access its data.\n Will return NULL if the parameters are invalid, if reading is requested\n from a write only buffer and if the buffer is already locked.\n"}]}, {"source1": "./usr/share/man/man3/al_lock_sample_id.3alleg5.gz", "source2": "./usr/share/man/man3/al_lock_sample_id.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_lock_sample_id.3alleg5", "source2": "al_lock_sample_id.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)\n-ALLEGRO_SAMPLE_INSTANCE* al_lock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Locks a ALLEGRO_SAMPLE_ID(3alleg5), returning the underlying\n ALLEGRO_SAMPLE_INSTANCE(3alleg5).\n This allows you to adjust the various properties of the instance (such\n"}]}, {"source1": "./usr/share/man/man3/al_lock_vertex_buffer.3alleg5.gz", "source2": "./usr/share/man/man3/al_lock_vertex_buffer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_lock_vertex_buffer.3alleg5", "source2": "al_lock_vertex_buffer.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset,\n int length, int flags)\n-void* al_lock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer, int offset,\n- int length, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Locks a vertex buffer so you can access its data.\n Will return NULL if the parameters are invalid, if reading is requested\n from a write only buffer, or if the buffer is already locked.\n"}]}, {"source1": "./usr/share/man/man3/al_malloc.3alleg5.gz", "source2": "./usr/share/man/man3/al_malloc.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_malloc.3alleg5", "source2": "al_malloc.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n #define al_malloc(n) \\[rs]\n (al_malloc_with_context((n), __LINE__, __FILE__, __func__))\n-#define al_malloc(n) \\[rs]\n- (al_malloc_with_context((n), __LINE__, __FILE__, __func__))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like malloc() in the C standard library, but the implementation may be\n overridden.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_open_memfile.3alleg5.gz", "source2": "./usr/share/man/man3/al_open_memfile.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_open_memfile.3alleg5", "source2": "al_open_memfile.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode)\n-ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Returns a file handle to the block of memory.\n All read and write operations act upon the memory directly, so it must\n not be freed while the file remains open.\n"}]}, {"source1": "./usr/share/man/man3/al_open_native_text_log.3alleg5.gz", "source2": "./usr/share/man/man3/al_open_native_text_log.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_open_native_text_log.3alleg5", "source2": "al_open_native_text_log.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags)\n-ALLEGRO_TEXTLOG *al_open_native_text_log(char const *title, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Opens a window to which you can append log messages with\n al_append_native_text_log(3alleg5).\n This can be useful for debugging if you don\\[cq]t want to depend on a\n"}]}, {"source1": "./usr/share/man/man3/al_open_video.3alleg5.gz", "source2": "./usr/share/man/man3/al_open_video.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_open_video.3alleg5", "source2": "al_open_video.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_VIDEO *al_open_video(char const *filename)\n-ALLEGRO_VIDEO *al_open_video(char const *filename)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Reads a video file.\n This does not start streaming yet but reads the meta info so you can\n query e.g.\\ the size or audio rate.\n"}]}, {"source1": "./usr/share/man/man3/al_play_audio_stream.3alleg5.gz", "source2": "./usr/share/man/man3/al_play_audio_stream.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_play_audio_stream.3alleg5", "source2": "al_play_audio_stream.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename)\n-ALLEGRO_AUDIO_STREAM *al_play_audio_stream(const char *filename)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Loads and plays an audio file from disk as it is needed.\n This API can only play one audio stream at a time.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_play_audio_stream_f.3alleg5.gz", "source2": "./usr/share/man/man3/al_play_audio_stream_f.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_play_audio_stream_f.3alleg5", "source2": "al_play_audio_stream_f.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char *ident)\n-ALLEGRO_AUDIO_STREAM *al_play_audio_stream_f(ALLEGRO_FILE *fp, const char *ident)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Loads and plays an audio file from ALLEGRO_FILE(3alleg5) stream as it is\n needed.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_play_sample.3alleg5.gz", "source2": "./usr/share/man/man3/al_play_sample.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_play_sample.3alleg5", "source2": "al_play_sample.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed,\n ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id)\n-bool al_play_sample(ALLEGRO_SAMPLE *spl, float gain, float pan, float speed,\n- ALLEGRO_PLAYMODE loop, ALLEGRO_SAMPLE_ID *ret_id)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Plays a sample on one of the sample instances created by\n al_reserve_samples(3alleg5).\n Returns true on success, false on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_play_sample_instance.3alleg5.gz", "source2": "./usr/share/man/man3/al_play_sample_instance.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_play_sample_instance.3alleg5", "source2": "al_play_sample_instance.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_play_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Play the sample instance.\n Returns true on success, false on failure.\n .SH SEE ALSO\n"}]}, {"source1": "./usr/share/man/man3/al_popup_menu.3alleg5.gz", "source2": "./usr/share/man/man3/al_popup_menu.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_popup_menu.3alleg5", "source2": "al_popup_menu.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display)\n-bool al_popup_menu(ALLEGRO_MENU *popup, ALLEGRO_DISPLAY *display)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Displays a context menu next to the mouse cursor.\n The menu must have been created with al_create_popup_menu(3alleg5).\n It generates events just like a regular display menu does.\n"}]}, {"source1": "./usr/share/man/man3/al_realloc.3alleg5.gz", "source2": "./usr/share/man/man3/al_realloc.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_realloc.3alleg5", "source2": "al_realloc.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n #define al_realloc(p, n) \\[rs]\n (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__))\n-#define al_realloc(p, n) \\[rs]\n- (al_realloc_with_context((p), (n), __LINE__, __FILE__, __func__))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like realloc() in the C standard library, but the implementation may be\n overridden.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_register_audio_stream_loader.3alleg5.gz", "source2": "./usr/share/man/man3/al_register_audio_stream_loader.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_register_audio_stream_loader.3alleg5", "source2": "al_register_audio_stream_loader.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n bool al_register_audio_stream_loader(const char *ext,\n ALLEGRO_AUDIO_STREAM *(*stream_loader)(const char *filename,\n size_t buffer_count, unsigned int samples))\n-bool al_register_audio_stream_loader(const char *ext,\n- ALLEGRO_AUDIO_STREAM *(*stream_loader)(const char *filename,\n- size_t buffer_count, unsigned int samples))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Register a handler for al_load_audio_stream(3alleg5) and\n al_play_audio_stream(3alleg5).\n The given function will be used to open streams from files with the\n"}]}, {"source1": "./usr/share/man/man3/al_register_audio_stream_loader_f.3alleg5.gz", "source2": "./usr/share/man/man3/al_register_audio_stream_loader_f.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_register_audio_stream_loader_f.3alleg5", "source2": "al_register_audio_stream_loader_f.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n bool al_register_audio_stream_loader_f(const char *ext,\n ALLEGRO_AUDIO_STREAM *(*stream_loader)(ALLEGRO_FILE* fp,\n size_t buffer_count, unsigned int samples))\n-bool al_register_audio_stream_loader_f(const char *ext,\n- ALLEGRO_AUDIO_STREAM *(*stream_loader)(ALLEGRO_FILE* fp,\n- size_t buffer_count, unsigned int samples))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Register a handler for al_load_audio_stream_f(3alleg5) and\n al_play_audio_stream_f(3alleg5).\n The given function will be used to open streams from files with the\n"}]}, {"source1": "./usr/share/man/man3/al_register_font_loader.3alleg5.gz", "source2": "./usr/share/man/man3/al_register_font_loader.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_register_font_loader.3alleg5", "source2": "al_register_font_loader.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_register_font_loader(char const *extension,\n ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags))\n-bool al_register_font_loader(char const *extension,\n- ALLEGRO_FONT *(*load_font)(char const *filename, int size, int flags))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Informs Allegro of a new font file type, telling it how to load files of\n this format.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_register_sample_identifier.3alleg5.gz", "source2": "./usr/share/man/man3/al_register_sample_identifier.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_register_sample_identifier.3alleg5", "source2": "al_register_sample_identifier.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_register_sample_identifier(const char *ext,\n bool (*identifier)(ALLEGRO_FILE* fp))\n-bool al_register_sample_identifier(const char *ext,\n- bool (*identifier)(ALLEGRO_FILE* fp))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Register an identify handler for al_identify_sample(3alleg5).\n The given function will be used to detect files for the given extension.\n It will be called with a single argument of type ALLEGRO_FILE(3alleg5)\n"}]}, {"source1": "./usr/share/man/man3/al_register_sample_loader.3alleg5.gz", "source2": "./usr/share/man/man3/al_register_sample_loader.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_register_sample_loader.3alleg5", "source2": "al_register_sample_loader.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_register_sample_loader(const char *ext,\n ALLEGRO_SAMPLE *(*loader)(const char *filename))\n-bool al_register_sample_loader(const char *ext,\n- ALLEGRO_SAMPLE *(*loader)(const char *filename))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Register a handler for al_load_sample(3alleg5).\n The given function will be used to handle the loading of sample files\n with the given extension.\n"}]}, {"source1": "./usr/share/man/man3/al_register_sample_loader_f.3alleg5.gz", "source2": "./usr/share/man/man3/al_register_sample_loader_f.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_register_sample_loader_f.3alleg5", "source2": "al_register_sample_loader_f.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_register_sample_loader_f(const char *ext,\n ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp))\n-bool al_register_sample_loader_f(const char *ext,\n- ALLEGRO_SAMPLE *(*loader)(ALLEGRO_FILE* fp))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Register a handler for al_load_sample_f(3alleg5).\n The given function will be used to handle the loading of sample files\n with the given extension.\n"}]}, {"source1": "./usr/share/man/man3/al_register_sample_saver.3alleg5.gz", "source2": "./usr/share/man/man3/al_register_sample_saver.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_register_sample_saver.3alleg5", "source2": "al_register_sample_saver.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_register_sample_saver(const char *ext,\n bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl))\n-bool al_register_sample_saver(const char *ext,\n- bool (*saver)(const char *filename, ALLEGRO_SAMPLE *spl))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Register a handler for al_save_sample(3alleg5).\n The given function will be used to handle the saving of sample files\n with the given extension.\n"}]}, {"source1": "./usr/share/man/man3/al_register_sample_saver_f.3alleg5.gz", "source2": "./usr/share/man/man3/al_register_sample_saver_f.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_register_sample_saver_f.3alleg5", "source2": "al_register_sample_saver_f.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_register_sample_saver_f(const char *ext,\n bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl))\n-bool al_register_sample_saver_f(const char *ext,\n- bool (*saver)(ALLEGRO_FILE* fp, ALLEGRO_SAMPLE *spl))\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Register a handler for al_save_sample_f(3alleg5).\n The given function will be used to handle the saving of sample files\n with the given extension.\n"}]}, {"source1": "./usr/share/man/man3/al_remove_display_menu.3alleg5.gz", "source2": "./usr/share/man/man3/al_remove_display_menu.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_remove_display_menu.3alleg5", "source2": "al_remove_display_menu.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display)\n-ALLEGRO_MENU *al_remove_display_menu(ALLEGRO_DISPLAY *display)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Detaches the menu associated with the display and returns it.\n The menu can then be used on a different display.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_remove_menu_item.3alleg5.gz", "source2": "./usr/share/man/man3/al_remove_menu_item.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_remove_menu_item.3alleg5", "source2": "al_remove_menu_item.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos)\n-bool al_remove_menu_item(ALLEGRO_MENU *menu, int pos)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Removes the specified item from the menu and destroys it.\n If the item contains a sub-menu, it too is destroyed.\n Any references to it are invalidated.\n"}]}, {"source1": "./usr/share/man/man3/al_reserve_samples.3alleg5.gz", "source2": "./usr/share/man/man3/al_reserve_samples.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_reserve_samples.3alleg5", "source2": "al_reserve_samples.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_reserve_samples(int reserve_samples)\n-bool al_reserve_samples(int reserve_samples)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Reserves a number of sample instances, attaching them to the default\n mixer.\n If no default mixer is set when this function is called, then it will\n"}]}, {"source1": "./usr/share/man/man3/al_restore_default_mixer.3alleg5.gz", "source2": "./usr/share/man/man3/al_restore_default_mixer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_restore_default_mixer.3alleg5", "source2": "al_restore_default_mixer.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_restore_default_mixer(void)\n-bool al_restore_default_mixer(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Restores Allegro\\[cq]s default mixer and attaches it to the default\n voice.\n If the default mixer hasn\\[cq]t been created before, it will be created.\n"}]}, {"source1": "./usr/share/man/man3/al_rewind_audio_stream.3alleg5.gz", "source2": "./usr/share/man/man3/al_rewind_audio_stream.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_rewind_audio_stream.3alleg5", "source2": "al_rewind_audio_stream.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n-bool al_rewind_audio_stream(ALLEGRO_AUDIO_STREAM *stream)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the streaming file playing position to the beginning.\n Returns true on success.\n Currently this can only be called on streams created with\n"}]}, {"source1": "./usr/share/man/man3/al_save_sample.3alleg5.gz", "source2": "./usr/share/man/man3/al_save_sample.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_save_sample.3alleg5", "source2": "al_save_sample.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl)\n-bool al_save_sample(const char *filename, ALLEGRO_SAMPLE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Writes a sample into a file.\n Currently, wav is the only supported format, and the extension must be\n \\[lq].wav\\[rq].\n"}]}, {"source1": "./usr/share/man/man3/al_save_sample_f.3alleg5.gz", "source2": "./usr/share/man/man3/al_save_sample_f.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_save_sample_f.3alleg5", "source2": "al_save_sample_f.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl)\n-bool al_save_sample_f(ALLEGRO_FILE *fp, const char *ident, ALLEGRO_SAMPLE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Writes a sample into a ALLEGRO_FILE(3alleg5) filestream.\n Currently, wav is the only supported format, and the extension must be\n \\[lq].wav\\[rq].\n"}]}, {"source1": "./usr/share/man/man3/al_seek_audio_stream_secs.3alleg5.gz", "source2": "./usr/share/man/man3/al_seek_audio_stream_secs.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_seek_audio_stream_secs.3alleg5", "source2": "al_seek_audio_stream_secs.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time)\n-bool al_seek_audio_stream_secs(ALLEGRO_AUDIO_STREAM *stream, double time)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the streaming file playing position to time.\n Returns true on success.\n Currently this can only be called on streams created with\n"}]}, {"source1": "./usr/share/man/man3/al_seek_video.3alleg5.gz", "source2": "./usr/share/man/man3/al_seek_video.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_seek_video.3alleg5", "source2": "al_seek_video.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds)\n-bool al_seek_video(ALLEGRO_VIDEO *video, double pos_in_seconds)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Seek to a different position in the video.\n Currently only seeking to the beginning of the video is supported.\n .SH SINCE\n"}]}, {"source1": "./usr/share/man/man3/al_set_audio_stream_fragment.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_audio_stream_fragment.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_audio_stream_fragment.3alleg5", "source2": "al_set_audio_stream_fragment.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val)\n-bool al_set_audio_stream_fragment(ALLEGRO_AUDIO_STREAM *stream, void *val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This function needs to be called for every successful call of\n al_get_audio_stream_fragment(3alleg5) to indicate that the buffer\n (pointed to by \\f[V]val\\f[R]) is filled with new data.\n"}]}, {"source1": "./usr/share/man/man3/al_set_audio_stream_gain.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_audio_stream_gain.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_audio_stream_gain.3alleg5", "source2": "al_set_audio_stream_gain.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val)\n-bool al_set_audio_stream_gain(ALLEGRO_AUDIO_STREAM *stream, float val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the playback gain of the stream.\n .PP\n Returns true on success, false on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_set_audio_stream_loop_secs.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_audio_stream_loop_secs.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_audio_stream_loop_secs.3alleg5", "source2": "al_set_audio_stream_loop_secs.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream,\n double start, double end)\n-bool al_set_audio_stream_loop_secs(ALLEGRO_AUDIO_STREAM *stream,\n- double start, double end)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Sets the loop points for the stream in seconds.\n Currently this can only be called on streams created with\n al_load_audio_stream(3alleg5), al_play_audio_stream(3alleg5),\n"}]}, {"source1": "./usr/share/man/man3/al_set_audio_stream_pan.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_audio_stream_pan.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_audio_stream_pan.3alleg5", "source2": "al_set_audio_stream_pan.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val)\n-bool al_set_audio_stream_pan(ALLEGRO_AUDIO_STREAM *stream, float val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the pan value on an audio stream.\n A value of -1.0 means to play the stream only through the left speaker;\n +1.0 means only through the right speaker; 0.0 means the sample is\n"}]}, {"source1": "./usr/share/man/man3/al_set_audio_stream_playing.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_audio_stream_playing.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_audio_stream_playing.3alleg5", "source2": "al_set_audio_stream_playing.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val)\n-bool al_set_audio_stream_playing(ALLEGRO_AUDIO_STREAM *stream, bool val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Change whether the stream is playing.\n .PP\n Returns true on success, false on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_set_audio_stream_playmode.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_audio_stream_playmode.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_audio_stream_playmode.3alleg5", "source2": "al_set_audio_stream_playmode.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream,\n ALLEGRO_PLAYMODE val)\n-bool al_set_audio_stream_playmode(ALLEGRO_AUDIO_STREAM *stream,\n- ALLEGRO_PLAYMODE val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the playback mode of the stream.\n .PP\n Returns true on success, false on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_set_audio_stream_speed.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_audio_stream_speed.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_audio_stream_speed.3alleg5", "source2": "al_set_audio_stream_speed.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val)\n-bool al_set_audio_stream_speed(ALLEGRO_AUDIO_STREAM *stream, float val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the relative playback speed of the stream.\n 1.0 means normal speed.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_set_default_mixer.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_default_mixer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_default_mixer.3alleg5", "source2": "al_set_default_mixer.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_default_mixer(ALLEGRO_MIXER *mixer)\n-bool al_set_default_mixer(ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Sets the default mixer.\n All samples started with al_play_sample(3alleg5) will be stopped and all\n sample instances returned by al_lock_sample_id(3alleg5) will be\n"}]}, {"source1": "./usr/share/man/man3/al_set_default_voice.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_default_voice.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_default_voice.3alleg5", "source2": "al_set_default_voice.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_set_default_voice(ALLEGRO_VOICE *voice)\n-void al_set_default_voice(ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n You can call this before calling al_restore_default_mixer to provide the\n voice which should be used.\n Any previous voice will be destroyed.\n"}]}, {"source1": "./usr/share/man/man3/al_set_display_menu.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_display_menu.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_display_menu.3alleg5", "source2": "al_set_display_menu.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu)\n-bool al_set_display_menu(ALLEGRO_DISPLAY *display, ALLEGRO_MENU *menu)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Associates the \\f[V]menu\\f[R] with the \\f[V]display\\f[R] and shows it.\n If there was a previous menu associated with the display, it will be\n destroyed.\n"}]}, {"source1": "./usr/share/man/man3/al_set_fallback_font.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_fallback_font.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_fallback_font.3alleg5", "source2": "al_set_fallback_font.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback)\n-void al_set_fallback_font(ALLEGRO_FONT *font, ALLEGRO_FONT *fallback)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Sets a font which is used instead if a character is not present.\n Can be chained, but make sure there is no loop as that would crash the\n application!\n"}]}, {"source1": "./usr/share/man/man3/al_set_menu_item_caption.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_menu_item_caption.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_menu_item_caption.3alleg5", "source2": "al_set_menu_item_caption.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption)\n-void al_set_menu_item_caption(ALLEGRO_MENU *menu, int pos, const char *caption)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Updates the menu item caption with the new \\f[V]caption\\f[R].\n This will invalidate any previous calls to\n al_get_menu_item_caption(3alleg5).\n"}]}, {"source1": "./usr/share/man/man3/al_set_menu_item_flags.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_menu_item_flags.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_menu_item_flags.3alleg5", "source2": "al_set_menu_item_flags.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)\n-void al_set_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Updates the menu item\\[cq]s flags.\n See al_insert_menu_item(3alleg5) for a description of the available\n flags.\n"}]}, {"source1": "./usr/share/man/man3/al_set_menu_item_icon.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_menu_item_icon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_menu_item_icon.3alleg5", "source2": "al_set_menu_item_icon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon)\n-void al_set_menu_item_icon(ALLEGRO_MENU *menu, int pos, ALLEGRO_BITMAP *icon)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Sets the icon for the specified menu item.\n The menu assumes ownership of the \\f[V]ALLEGRO_BITMAP\\f[R] and may\n invalidate the pointer, so you must clone it if you wish to continue\n"}]}, {"source1": "./usr/share/man/man3/al_set_mixer_frequency.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_mixer_frequency.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_mixer_frequency.3alleg5", "source2": "al_set_mixer_frequency.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_mixer_frequency(ALLEGRO_MIXER *mixer, unsigned int val)\n-bool al_set_mixer_frequency(ALLEGRO_MIXER *mixer, unsigned int val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the mixer frequency (in Hz).\n This will only work if the mixer is not attached to anything.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_set_mixer_gain.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_mixer_gain.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_mixer_gain.3alleg5", "source2": "al_set_mixer_gain.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_mixer_gain(ALLEGRO_MIXER *mixer, float new_gain)\n-bool al_set_mixer_gain(ALLEGRO_MIXER *mixer, float new_gain)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the mixer gain (amplification factor).\n .PP\n Returns true on success, false on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_set_mixer_playing.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_mixer_playing.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_mixer_playing.3alleg5", "source2": "al_set_mixer_playing.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_mixer_playing(ALLEGRO_MIXER *mixer, bool val)\n-bool al_set_mixer_playing(ALLEGRO_MIXER *mixer, bool val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Change whether the mixer is playing.\n .PP\n Returns true on success, false on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_set_mixer_postprocess_callback.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_mixer_postprocess_callback.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_mixer_postprocess_callback.3alleg5", "source2": "al_set_mixer_postprocess_callback.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n bool al_set_mixer_postprocess_callback(ALLEGRO_MIXER *mixer,\n void (*pp_callback)(void *buf, unsigned int samples, void *data),\n void *pp_callback_userdata)\n-bool al_set_mixer_postprocess_callback(ALLEGRO_MIXER *mixer,\n- void (*pp_callback)(void *buf, unsigned int samples, void *data),\n- void *pp_callback_userdata)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Sets a post-processing filter function that\\[cq]s called after the\n attached streams have been mixed.\n The buffer\\[cq]s format will be whatever the mixer was created with.\n"}]}, {"source1": "./usr/share/man/man3/al_set_mixer_quality.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_mixer_quality.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_mixer_quality.3alleg5", "source2": "al_set_mixer_quality.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_mixer_quality(ALLEGRO_MIXER *mixer, ALLEGRO_MIXER_QUALITY new_quality)\n-bool al_set_mixer_quality(ALLEGRO_MIXER *mixer, ALLEGRO_MIXER_QUALITY new_quality)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the mixer quality.\n This can only succeed if the mixer does not have anything attached to\n it.\n"}]}, {"source1": "./usr/share/man/man3/al_set_physfs_file_interface.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_physfs_file_interface.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_physfs_file_interface.3alleg5", "source2": "al_set_physfs_file_interface.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_set_physfs_file_interface(void)\n-void al_set_physfs_file_interface(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n This function sets \\f[I]both\\f[R] the ALLEGRO_FILE_INTERFACE(3alleg5)\n and ALLEGRO_FS_INTERFACE(3alleg5) for the calling thread.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_set_sample.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_sample.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_sample.3alleg5", "source2": "al_set_sample.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data)\n-bool al_set_sample(ALLEGRO_SAMPLE_INSTANCE *spl, ALLEGRO_SAMPLE *data)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Change the sample data that a sample instance plays.\n This can be quite an involved process.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_set_sample_instance_channel_matrix.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_sample_instance_channel_matrix.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_sample_instance_channel_matrix.3alleg5", "source2": "al_set_sample_instance_channel_matrix.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const float *matrix)\n-bool al_set_sample_instance_channel_matrix(ALLEGRO_SAMPLE_INSTANCE *spl, const float *matrix)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the matrix used to mix the channels coming from this instance into\n the mixer it is attached to.\n Normally Allegro derives the values of this matrix from the gain and pan\n"}]}, {"source1": "./usr/share/man/man3/al_set_sample_instance_gain.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_sample_instance_gain.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_sample_instance_gain.3alleg5", "source2": "al_set_sample_instance_gain.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n-bool al_set_sample_instance_gain(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the playback gain of the sample instance.\n .PP\n Returns true on success, false on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_set_sample_instance_length.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_sample_instance_length.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_sample_instance_length.3alleg5", "source2": "al_set_sample_instance_length.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl,\n unsigned int val)\n-bool al_set_sample_instance_length(ALLEGRO_SAMPLE_INSTANCE *spl,\n- unsigned int val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the length of the sample instance in sample values.\n This can be used to play only parts of the underlying sample.\n Be careful not to exceed the actual length of the sample data, though.\n"}]}, {"source1": "./usr/share/man/man3/al_set_sample_instance_pan.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_sample_instance_pan.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_sample_instance_pan.3alleg5", "source2": "al_set_sample_instance_pan.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n-bool al_set_sample_instance_pan(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the pan value on a sample instance.\n A value of -1.0 means to play the sample only through the left speaker;\n +1.0 means only through the right speaker; 0.0 means the sample is\n"}]}, {"source1": "./usr/share/man/man3/al_set_sample_instance_playing.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_sample_instance_playing.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_sample_instance_playing.3alleg5", "source2": "al_set_sample_instance_playing.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val)\n-bool al_set_sample_instance_playing(ALLEGRO_SAMPLE_INSTANCE *spl, bool val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Change whether the sample instance is playing.\n .PP\n The instance does not need to be attached to anything (since: 5.1.8).\n"}]}, {"source1": "./usr/share/man/man3/al_set_sample_instance_playmode.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_sample_instance_playmode.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_sample_instance_playmode.3alleg5", "source2": "al_set_sample_instance_playmode.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl,\n ALLEGRO_PLAYMODE val)\n-bool al_set_sample_instance_playmode(ALLEGRO_SAMPLE_INSTANCE *spl,\n- ALLEGRO_PLAYMODE val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the playback mode of the sample instance.\n .PP\n Returns true on success, false on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_set_sample_instance_position.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_sample_instance_position.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_sample_instance_position.3alleg5", "source2": "al_set_sample_instance_position.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl,\n unsigned int val)\n-bool al_set_sample_instance_position(ALLEGRO_SAMPLE_INSTANCE *spl,\n- unsigned int val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the playback position of a sample instance.\n .PP\n Returns true on success, false on failure.\n"}]}, {"source1": "./usr/share/man/man3/al_set_sample_instance_speed.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_sample_instance_speed.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_sample_instance_speed.3alleg5", "source2": "al_set_sample_instance_speed.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n-bool al_set_sample_instance_speed(ALLEGRO_SAMPLE_INSTANCE *spl, float val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the relative playback speed of the sample instance.\n 1.0 means normal speed.\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_set_video_playing.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_video_playing.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_video_playing.3alleg5", "source2": "al_set_video_playing.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_set_video_playing(ALLEGRO_VIDEO *video, bool play)\n-void al_set_video_playing(ALLEGRO_VIDEO *video, bool play)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Paused or resumes playback.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_set_voice_playing.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_voice_playing.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_voice_playing.3alleg5", "source2": "al_set_voice_playing.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val)\n-bool al_set_voice_playing(ALLEGRO_VOICE *voice, bool val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Change whether a voice is playing or not.\n This can only work if the voice has a non-streaming object attached to\n it, e.g.\\ a sample instance.\n"}]}, {"source1": "./usr/share/man/man3/al_set_voice_position.3alleg5.gz", "source2": "./usr/share/man/man3/al_set_voice_position.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_set_voice_position.3alleg5", "source2": "al_set_voice_position.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_set_voice_position(ALLEGRO_VOICE *voice, unsigned int val)\n-bool al_set_voice_position(ALLEGRO_VOICE *voice, unsigned int val)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Set the voice position.\n This can only work if the voice has a non-streaming object attached to\n it, e.g.\\ a sample instance.\n"}]}, {"source1": "./usr/share/man/man3/al_show_native_file_dialog.3alleg5.gz", "source2": "./usr/share/man/man3/al_show_native_file_dialog.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_show_native_file_dialog.3alleg5", "source2": "al_show_native_file_dialog.3alleg5", "unified_diff": "@@ -23,16 +23,14 @@\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display,\n ALLEGRO_FILECHOOSER *dialog)\n-bool al_show_native_file_dialog(ALLEGRO_DISPLAY *display,\n- ALLEGRO_FILECHOOSER *dialog)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Show the dialog window.\n The display may be NULL, otherwise the given display is treated as the\n parent if possible.\n"}]}, {"source1": "./usr/share/man/man3/al_show_native_message_box.3alleg5.gz", "source2": "./usr/share/man/man3/al_show_native_message_box.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_show_native_message_box.3alleg5", "source2": "al_show_native_message_box.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n int al_show_native_message_box(ALLEGRO_DISPLAY *display,\n char const *title, char const *heading, char const *text,\n char const *buttons, int flags)\n-int al_show_native_message_box(ALLEGRO_DISPLAY *display,\n- char const *title, char const *heading, char const *text,\n- char const *buttons, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Show a native GUI message box.\n This can be used for example to display an error message if creation of\n an initial display fails.\n"}]}, {"source1": "./usr/share/man/man3/al_shutdown_font_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_shutdown_font_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_shutdown_font_addon.3alleg5", "source2": "al_shutdown_font_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_shutdown_font_addon(void)\n-void al_shutdown_font_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Shut down the font addon.\n This is done automatically at program exit, but can be called any time\n the user wishes as well.\n"}]}, {"source1": "./usr/share/man/man3/al_shutdown_image_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_shutdown_image_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_shutdown_image_addon.3alleg5", "source2": "al_shutdown_image_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_shutdown_image_addon(void)\n-void al_shutdown_image_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Shut down the image addon.\n This is done automatically at program exit, but can be called any time\n the user wishes as well.\n"}]}, {"source1": "./usr/share/man/man3/al_shutdown_native_dialog_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_shutdown_native_dialog_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_shutdown_native_dialog_addon.3alleg5", "source2": "al_shutdown_native_dialog_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_shutdown_native_dialog_addon(void)\n-void al_shutdown_native_dialog_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Shut down the native dialog addon.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_shutdown_primitives_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_shutdown_primitives_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_shutdown_primitives_addon.3alleg5", "source2": "al_shutdown_primitives_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_shutdown_primitives_addon(void)\n-void al_shutdown_primitives_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Shut down the primitives addon.\n This is done automatically at program exit, but can be called any time\n the user wishes as well.\n"}]}, {"source1": "./usr/share/man/man3/al_shutdown_ttf_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_shutdown_ttf_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_shutdown_ttf_addon.3alleg5", "source2": "al_shutdown_ttf_addon.3alleg5", "unified_diff": "@@ -22,14 +22,13 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_shutdown_ttf_addon(void)\n-void al_shutdown_ttf_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Unloads the ttf addon again.\n You normally don\\[cq]t need to call this.\n"}]}, {"source1": "./usr/share/man/man3/al_shutdown_video_addon.3alleg5.gz", "source2": "./usr/share/man/man3/al_shutdown_video_addon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_shutdown_video_addon.3alleg5", "source2": "al_shutdown_video_addon.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_shutdown_video_addon(void)\n-void al_shutdown_video_addon(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Shut down the video addon.\n This is done automatically at program exit, but can be called any time\n the user wishes as well.\n"}]}, {"source1": "./usr/share/man/man3/al_start_audio_recorder.3alleg5.gz", "source2": "./usr/share/man/man3/al_start_audio_recorder.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_start_audio_recorder.3alleg5", "source2": "al_start_audio_recorder.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_start_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n-bool al_start_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Begin recording into the fragment buffer.\n Once a complete fragment has been captured (as specified in\n al_create_audio_recorder(3alleg5)), an\n"}]}, {"source1": "./usr/share/man/man3/al_start_video.3alleg5.gz", "source2": "./usr/share/man/man3/al_start_video.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_start_video.3alleg5", "source2": "al_start_video.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer)\n-void al_start_video(ALLEGRO_VIDEO *video, ALLEGRO_MIXER *mixer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Starts streaming the video from the beginning.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_start_video_with_voice.3alleg5.gz", "source2": "./usr/share/man/man3/al_start_video_with_voice.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_start_video_with_voice.3alleg5", "source2": "al_start_video_with_voice.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice)\n-void al_start_video_with_voice(ALLEGRO_VIDEO *video, ALLEGRO_VOICE *voice)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Like al_start_video(3alleg5) but audio is routed to the provided voice.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_stop_audio_recorder.3alleg5.gz", "source2": "./usr/share/man/man3/al_stop_audio_recorder.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_stop_audio_recorder.3alleg5", "source2": "al_stop_audio_recorder.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_stop_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n-void al_stop_audio_recorder(ALLEGRO_AUDIO_RECORDER *r)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Stop capturing audio data.\n Note that the audio recorder is still active and consuming resources, so\n if you are finished recording you should destroy it with\n"}]}, {"source1": "./usr/share/man/man3/al_stop_sample.3alleg5.gz", "source2": "./usr/share/man/man3/al_stop_sample.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_stop_sample.3alleg5", "source2": "al_stop_sample.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id)\n-void al_stop_sample(ALLEGRO_SAMPLE_ID *spl_id)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Stop the sample started by al_play_sample(3alleg5).\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_stop_sample_instance.3alleg5.gz", "source2": "./usr/share/man/man3/al_stop_sample_instance.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_stop_sample_instance.3alleg5", "source2": "al_stop_sample_instance.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n-bool al_stop_sample_instance(ALLEGRO_SAMPLE_INSTANCE *spl)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Stop an sample instance playing.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_stop_samples.3alleg5.gz", "source2": "./usr/share/man/man3/al_stop_samples.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_stop_samples.3alleg5", "source2": "al_stop_samples.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_stop_samples(void)\n-void al_stop_samples(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Stop all samples started by al_play_sample(3alleg5).\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_toggle_menu_item_flags.3alleg5.gz", "source2": "./usr/share/man/man3/al_toggle_menu_item_flags.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_toggle_menu_item_flags.3alleg5", "source2": "al_toggle_menu_item_flags.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)\n-int al_toggle_menu_item_flags(ALLEGRO_MENU *menu, int pos, int flags)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Toggles the specified menu item\\[cq]s flags.\n See al_insert_menu_item(3alleg5) for a description of the available\n flags.\n"}]}, {"source1": "./usr/share/man/man3/al_triangulate_polygon.3alleg5.gz", "source2": "./usr/share/man/man3/al_triangulate_polygon.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_triangulate_polygon.3alleg5", "source2": "al_triangulate_polygon.3alleg5", "unified_diff": "@@ -24,17 +24,14 @@\n .nf\n \\f[C]\n #include \n \n bool al_triangulate_polygon(\n const float* vertices, size_t vertex_stride, const int* vertex_counts,\n void (*emit_triangle)(int, int, int, void*), void* userdata)\n-bool al_triangulate_polygon(\n- const float* vertices, size_t vertex_stride, const int* vertex_counts,\n- void (*emit_triangle)(int, int, int, void*), void* userdata)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Divides a simple polygon into triangles, with zero or more other simple\n polygons subtracted from it - the holes.\n The holes cannot touch or intersect with the outline of the main\n"}]}, {"source1": "./usr/share/man/man3/al_uninstall_audio.3alleg5.gz", "source2": "./usr/share/man/man3/al_uninstall_audio.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_uninstall_audio.3alleg5", "source2": "al_uninstall_audio.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_uninstall_audio(void)\n-void al_uninstall_audio(void)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Uninstalls the audio subsystem.\n .SH SEE ALSO\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_unlock_index_buffer.3alleg5.gz", "source2": "./usr/share/man/man3/al_unlock_index_buffer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_unlock_index_buffer.3alleg5", "source2": "al_unlock_index_buffer.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)\n-void al_unlock_index_buffer(ALLEGRO_INDEX_BUFFER* buffer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Unlocks a previously locked index buffer.\n .SH SINCE\n .PP\n"}]}, {"source1": "./usr/share/man/man3/al_unlock_sample_id.3alleg5.gz", "source2": "./usr/share/man/man3/al_unlock_sample_id.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_unlock_sample_id.3alleg5", "source2": "al_unlock_sample_id.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)\n-void al_unlock_sample_id(ALLEGRO_SAMPLE_ID *spl_id)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Unlocks a ALLEGRO_SAMPLE_ID(3alleg5), allowing future calls to\n al_play_sample(3alleg5) to reuse it if possible.\n Note that after the id is unlocked, the ALLEGRO_SAMPLE_INSTANCE(3alleg5)\n"}]}, {"source1": "./usr/share/man/man3/al_unlock_vertex_buffer.3alleg5.gz", "source2": "./usr/share/man/man3/al_unlock_vertex_buffer.3alleg5.gz", "unified_diff": null, "details": [{"source1": "al_unlock_vertex_buffer.3alleg5", "source2": "al_unlock_vertex_buffer.3alleg5", "unified_diff": "@@ -22,15 +22,14 @@\n .SH SYNOPSIS\n .IP\n .nf\n \\f[C]\n #include \n \n void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)\n-void al_unlock_vertex_buffer(ALLEGRO_VERTEX_BUFFER* buffer)\n \\f[R]\n .fi\n .SH DESCRIPTION\n .PP\n Unlocks a previously locked vertex buffer.\n .SH SINCE\n .PP\n"}]}]}]}]}]}