games-fps/gzdoom: new package, add 4.10.0-r1

This commit is contained in:
Nicole O'Connor 2023-06-14 16:55:47 -07:00
parent f95a6c8e4c
commit 556b633aa5
53 changed files with 15665 additions and 0 deletions

53
games-fps/gzdoom/Manifest Normal file
View File

@ -0,0 +1,53 @@
AUX 0001-Add-casts-to-F32-Map-MapIterator-functions-to-get-ri.patch 1456 BLAKE2B 9f2b914ff41c671f12e5ec7840cff901b40ffafe525572fc58b0b11d12fc7902921fb81a9da0b4054f299f0e6da12dd164776ec21d3372c4a3f4266fe5acccc5 SHA512 6d989d7381fee0a4cbff8ff73fdb93d27c0176593fb92f63d082f49e38607f8b91d8f94b7772934899be69802627207ceae817aa82a4a2bd7921fa60ed7a3a25
AUX 0002-Fix-PMapValueReader-warning-on-Clang-GCC.patch 843 BLAKE2B ffc17e9671ad7db66a7600ef788245c904a6cd3ae097357b073f9e667aeffe30570931e5c7ae3d5b3d2aba349889bb7e16a7940a67904072bfe30d7299c5cec7 SHA512 f3ccf5cf7cbdf89ae933c60c2b6d04f1030f3087f5b49e110595037459d5c77a10cc9f287676d0ad9a77c50f50fe0b8acf2d3f44b815196714da0df650e54a15
AUX 0003-Fix-Quicksave-Rotation.patch 765 BLAKE2B 3d25b8e8f83286fd06d042ad2cb6d6628592655d749ad9bbdf3a900c1cbcb213e2f39f1059e9e4248ad863ca74da9aadbe4166a21956a7f91402fd0112c40878 SHA512 2f9ea45b230068a0c80c5fb526dd1bc0fb57836a12a17e48c026d54e7d3b1097ef1faecdceacfccfe263054ac899ed63248c851c0258766b2d39b516f1e4b167
AUX 0004-fixed-some-bad-character-offsets-in-Doom-s-and-Raven.patch 8532 BLAKE2B ac46b7068b6bdb2d29674a8fe42dbaa6ae9fb69c54d651162afb8866c3637dd32f45acaf55b2781f6e2c81e9ab185d056ca63d4b6a2d82f750526ef2c03d03e5 SHA512 66f2753f09957e881ab14df5b27ba46aaea516f84bbb85982741c0ca17b2347347bb6a87fd84318187905655e500007055f6aef7b2cbfa7afd961d46f164522d
AUX 0005-fixed-GC-FullGC-not-collecting-everything-anymore.patch 1948 BLAKE2B 59ef34a0240c5a92a60240e8e1324b4c83e290adaa12c3a9d5040df013e7d0529ba0d7291c301330662d5c20677ffeb02ef9710f99891d12cdf8466def278621 SHA512 9b32f343df38365dde2b0aac8b289f5e81a7ea1d73f296d937ed61917c2d0a8553f446b4a72f8208db976a091a734cf5e282b914c9f42ecee144f295827ad1db
AUX 0006-Fix-wrong-assumptions-about-actor-initialization-in-.patch 1720 BLAKE2B 0690194614019ea1bda135dbb9c805abfd5fe63c268b13c856c3602347e6a46d406e5fbd00c2e00725b2e0ddc81470eb8343933e540bc288bf5bb9fc9c3437be SHA512 3d7c44eb809852cb3b7875696b00bb4b0889ce9bef7f05714f351ca75ffb265b79ebcadee9818022985df5ff0e68d63661113255660dacf507a536e693cea1d5
AUX 0007-Fixed-IsActorPlayingSound-s-default-argument.patch 1451 BLAKE2B a8f8a1d595aac08593f62eb9c3a49c46dbb67e5ff1c7379d3ce40c9a8b2e7018c4d3b645d1809421f261d9be8e6657420c665367571057eee53d2bcf18ed5a6f SHA512 a31ef8faaa08aed04d9718e68924b0907e84d7b3929eb358ccdd16738f625c6f12593689d62568945ce2609544a2f1c3630aedbd6b27f65eea2c5bd6130b3680
AUX 0008-removed-clangformat-from-discord-rpc.patch 814 BLAKE2B 3d829420b250dd830028c229c8c9a2ff39064902ad0ab50ac42c83bd454e052966cdb23c1cf08de006878567b66132f83da43aa3c44f71458be0c982f3df73b0 SHA512 bacd20da979045cf07b843de3048c10d2adf6ac45ec48e1bc958a698731c0901b2f5acd0ce2d275298a210c002b07323dbbb591db745063d5078f95c3efe1a8a
AUX 0009-Error-out-instead-of-crashing-for-vector-out-variabl.patch 1055 BLAKE2B 84daa43accc83e4df92a4d19c38754e5e58a7ffa72deceb53db0ee8dcfb4872b2b49966204c3d6a66ecb26aba15db097a72bfedce882e55c58d37d87acecffc6 SHA512 ac1696c41738b6bba94544013435f59d5f3b72d2aed75756047a38d0a6c2242de5228404c219e61a1bc831f9695be10c51b0384982bbeb633b2456a0a5129224
AUX 0010-Fix-StripLeftRight.patch 1288 BLAKE2B d6e12b0347c902f7294b1a0f06e792a4280224e982209c609905a418fa8aedd3c6659aa0efd81028700d759bc37d71efc092cc251bcbad771cefe44b70b2c099 SHA512 42ffbb9a8d4f2774e5eb216cc8e016100b827c543d5c3630c8d5ccb5477d50af88bdf7347c28be3c4a2a022944d41eed2d34d87e548facdfbfdfd48bff2b54b9
AUX 0011-Fixed-custom-height-and-width-not-saving.patch 987 BLAKE2B 33b32cd6b150a2a28bc2cadc11fecc4e726d9d501072b849a2a7580086a5c20d604e3b99a8b78a8d333010c0d0043caac54ed5e201631b16c0608a9c3dc464f1 SHA512 98334424983c53948000687d41f18a76cbd6d1666f8eeea5584a22e45cabf9eb2250a009a3b47dafcee68f3043d32d12cc56cc75f267d044a05ab43c69ec5aa4
AUX 0012-Prevent-important-messages-from-being-accidentally-f.patch 7650 BLAKE2B 09dd89592ac214f0ec064606bf0f51081e0fb0aaffd7ae5f00d25ecaf14adc82be8bf190d75384a7d9fdc00d969929caf9dec6ca959f272825ce62dc89825b55 SHA512 ac97d668204188e610f7f6aaee25eaee82d35bc9a9543f38099bed2fbc502e23765f9c0083e9925085b389ea9111a52b2225f5fe9e6352f4cd65930482e98de2
AUX 0013-fixed-buffer-size-checks-for-raw-textures.patch 1387 BLAKE2B 767d1f5108fcff0a085de443a68dbf40ada25d9183bfdc4f53f52cb2da90ad71dfaf6ffff1e1512fc91e4902cd97a5893a4483eafd30229b6ed8536cb74d14c3 SHA512 e09c445a3cbe1579e84271ebbceb5acb28cc6ef47673b66586319ee128db13fa93b3f94461b33a20ab21351e694980a167c2be9a0dc44b4145cc67fc56e9836b
AUX 0014-Impel-people-to-include-demo-mods-in-bug-reports.patch 1102 BLAKE2B 7a1efd0b5b0a4bba7efaa57f97f3e24d29fdd1743568da2eff99d10a71b205c6b6ddf48ac8ff04296938b3af16d98e40d35585d0ec86b7b1e780d6bfc0cb1ff7 SHA512 572e5df262dcf88163cb64beceeda9d6eded2d52b9b459817eeea8d4b3332bf94b6b680bbdf235e8b5e01b91542826e30d780cd9d5e395e1c2234b50ebdcb3f6
AUX 0015-Fixed-a-bug-where-static-events-would-fail-to-halt-p.patch 803 BLAKE2B 8c22648bdb0a5fdf95aad3b632cc3dcac149900b2d850b1f7f6fbdccaf8711633487c1840f41e0bffb231d9642e432fe81580236f9b657b795e3cbc569d2133d SHA512 28766c717660398c9b6b9e15cec9ee3060c2491529165b2e18d2a4870aaf127d790b196ab88354e33fc322f5450ea7141e75b29b419b18724441746bc927b69d
AUX 0016-Fix-MapIterator-X-String-GetValue.patch 1318 BLAKE2B ffd9be0e59d78acb72940b887780b5e57ca610925f627770cbf2b23e10da2809d391b4b9930b617b6416e02a783f44d67eac76229e88a9834cf919d71f5cffab SHA512 b0301667c1eca2026f68774b95a1c7a14dedcee0a96b4aa07120f60885bd068891c8c8022fb7a02991f7a705f03c60308b8d0c7ba0d9446592ed96a9b7fb3a10
AUX 0017-Fix-two-different-portable-names.patch 1238 BLAKE2B 7b01baa717ac4d605e2f606914aee2849e7bfcf5a403f6e4e6c6d8df34c2e34e979b2140843e099fddc47d070c9b3e71c61cc9d345a584ab305c1a0f5ad1974d SHA512 bd23ec87123fdbd1610b5c0674e863054d9df58915a13262d5d3d3140fbab25d9525061edb0658087b64c5561f1bbaa6998e8c7e49e0adb74563396fc90f236c
AUX 0018-indicate-in-the-startup-window-title-when-GZDoom-is-.patch 1163 BLAKE2B ffb0fe6be80c1c5f217f9ee89485157859550ab65908f95db9e47ff1d44e6c58ba808b4038d8b53d45396b021adbeb4b0fcd68374023f01b9e701b01e7fc510a SHA512 8a66a5d5233df2d3007c1476f3c893d13e53cde9482b446203a414c6b6dd13e0d26e8542fc8897449a8f554d4b4ab4ea514b45626fb0f3760a56a4e4d1909787
AUX 0019-alt-HUD-use-NewSmallFont-for-drawing-player-s-coordi.patch 2924 BLAKE2B 81c63cb2c2d3fbbff60c744d118f5b7506acfde04c25ff638ad57522f44007bdf5ebf511a95a8cdab1338cd7167ce5cbf5a543045358fb3e0730c23fc53e9c95 SHA512 70749d0e82014801d36e8b7295f7bf7d9f8d15698274a98888b4e2d669e6f317afc2cdc6fdb6fb985efb017eb127d8359e9069417c13406436b4d8274b101f31
AUX 0020-new-characters-for-Doom-s-SmallFont-and-BigFont.patch 24590 BLAKE2B 97bcbc8e4e2f38bafbd9356ef4fbc958a5a8eabf131a3499fcd0e065f55c3c05b82f92cf8774c9251f54edfbe6300d3061fd50b72e0467c601a48031e0a0e994 SHA512 30e7676386d5ae1691a63df5b3f5f8b3bd906609b8e82f9ac28638f03b7534423aa3656c91d00ccba9dbc177145aed2c497058d2755aa4e483184e330d6999ff
AUX 0021-4-non-letter-characters-for-Chex.patch 3356 BLAKE2B c15174981469a24b3070d0351c292ece1c18c755ebe2b0270a431ed44955a2360cbf23c5069aa7acd0e062c77907b6d4a8da8c998991c5d99ea95a050b799e52 SHA512 39a0889571bcbdf4bc265550d5fff9eb003b2c07c274de68ea18ba71b3b590819ceafd835e9fe7db8957b5768b740078ed599afe4bfdd225b870591c8fc1ef52
AUX 0022-Fixed-global-TerrainDef-array-not-being-exported-cor.patch 952 BLAKE2B 3f0c89165c4d4047e5774e01900f46c885ce6f7eb4f5e8f0221048faf74a36e1ad29dbd2b2d775f7a3ad844c9e96e7778ce8572a9faa65958b5a2657d5147887 SHA512 b060d2fc4091f5c82c04e7551ff071b2336993600abe5d82a9ee128730ab50c86c39fbbb60959901ea8574c948362eb2dc7023d3c1582744f33072454b916e38
AUX 0023-convert-characters-to-Doom-patch-format.patch 17507 BLAKE2B 56ce3b780636e751c316be4fd75ff16d37cb020dafa9f5a33424aa80a0bea49e8ce0132df2a889d60944b27751419a867945afc1448db93d8c5aaa07566e7fd0 SHA512 da87583292167475af6f75409b6e7bdcffe3abc0eff9b697bd65ae1d5768d0af871a31aa63ebf62e026a0d17d0b5303959ff723eed386920de3dfa3ddda9662a
AUX 0024-Mark-non-modifying-map-functions-as-const.patch 8847 BLAKE2B 97180c261bd1228d798ead59a7bf83b5f137a740b4a5bd3149b8d4f299207e664459dcf00ffbdf1b6aeef53773fe4ad3d181628a8eed876a8c14516e065c2b94 SHA512 5527569a52f929232aefb874f413084d880ba79a0937822820feaa3cd2580c15d0941d4e54651b8316b467d94cba5c4c2e398e12cba6020bad3c922945d8f9a4
AUX 0025-Fix-iterator-invalidation-for-Map-Get.patch 1027 BLAKE2B f2360c2546aeebfed91a34fcc714879763005263940b87ad02f39397d348ff1c89fcb2b352a0784ff2c4e10e13b65da4528b8747aab34f029444d5f0fb6f926b SHA512 624c2d1a72e5ad3f531aba3ccc67588c4d0d1b4bd1386ee58181aacfa8777846674a0a6a8bd7aff5bc3c1fad7af92bbf1e1f1638bdbbabe990f91dc68c7bbda3
AUX 0026-Add-Missing-Read-Barriers-to-Map-Get-Functions.patch 1853 BLAKE2B 289b7988c7ac2e94b5aef45561559b8a7aacc0f954707a9e72babc2411affbc8601c5d445e55c05ef18fdf1cb7cb0a38d02e58eb7a12020ca4464e87c6d06166 SHA512 a5f0026c715a8035b4d799815b2dba10cffe55011efed17e6376077e2f9ca7ee172630e5a93d36cca111ce453b81888030a8f868be513554b5f90da696effddf
AUX 0027-cleanup-of-the-Chex-Quest-small-font.patch 51380 BLAKE2B f55a209204ed08b8f6b9ac1a59e405e7f77577b812b99415118ba1e37164ba93c4b616770d797ff9fe9b8a3aeabe1c5f31be7aadcc3b3509cf5b129dca92647a SHA512 7dd652af071dd727b8dd4d2fbe3674354e360f5dd206956bb1ad02e1a1f6f3452491dcca84f3e9a99e07478792664a28ed642b40ac27f5c9edf2a01376a6ed95
AUX 0028-refactor-add-some-logs-to-help-understand-what-is-ha.patch 1570 BLAKE2B 26445bf09b1dc03d5346751f1046987c8e198ab42498a5bf3e01e3803a74d884747b30fd0c3f9ebb7fe7c6fdde443a9b24d43c4c1abba91442499777c4bc974e SHA512 01c2f3fc8dc8a4d9d6a05ff074fba1fb98951797820da6a8145a15d03ac958069e9f54adb8c2fe45e0d58174073fa6fe292425ab3db38ac89d7e4ba603889b3a
AUX 0029-Added-check-for-invalid-class-on-in-VM-instantiation.patch 1320 BLAKE2B 393795d4bddf50de35ca9154126a462eb436d3165e7f2da2a14c62e2ba0e23adde405363619b57d46287138dd46c5ce57066cef2ebe2e0351815a7c419500cf1 SHA512 c040918c8e3fe3acc879d186d8eb58723ef4ea96cd3fcb3938b2aa3685fb2e4e3ebfdf891f870e097da812fb3a5fc11cb14c829900bfeb34b841d991c39976c9
AUX 0030-Fixed-a-bug-where-calling-an-invalid-virtual-functio.patch 893 BLAKE2B 3514f0002599bbd85b15693ebb05e7054ccedca48c9d61c93bafc0a1eca0871d42954c9fd9c7011d30319473840da5a6116413e903308fd4d2b252a7324a8837 SHA512 ae6f1cf65920681f7d936a2e7755f3dc62b7dce4aeea13af742ddca509023b651ec4f7224908024bd59f63c98bc962dfd69e75da4f62ef484d69e0edcb4481e1
AUX 0031-GLES-Fix-first-wipe.patch 792 BLAKE2B e4295d5a2658e30dbc148154417387fcc29e34a4a89d2f9be2598c2032da42a2e4f36fd5709396b851d16116efbb7c55093f5f731143398934ea3ec87f7db639 SHA512 ca296f234e00a352181fbcf5572d5fb2b5a2e94e0aed31e2bdb6a58c7e44675829a6b709c7782d91a1b1f5e50bb0b186d833f7dbd32a3ccb54c83041fb3ae4b5
AUX 0032-Mark-const-methods-as-const-in-pseudo-generics.patch 3452 BLAKE2B 5dbe86b77d5d61f82c1be53966bd79be0f73833765b9225b4af36261d451ca5addc96e998131a61c3eaf9fff7c41ebaeb28fa4a5e58f54dc832d798cc2c6bb6f SHA512 21456d9f22300c092f2afb9e2769f7713ed8b785f4b1e0e2df524e063bf6bbee4c5f00e5af9e741266fb8232bfdcc086226786a3a50d4643694065a8bfe80437
AUX 0033-Fixing-GLES-mode-to-work-on-real-GLES-hardware-and-O.patch 14991 BLAKE2B ab325995dda89d624382dee0b0d04b6894177ba8f4c468c76aeb17a00a2ec0aaaec7c5fd0bed12a15b12bf1f64af426dba5ac97ddcab57cbdfe659da6fafed2a SHA512 7dfc6735de633bdb888cd1af36fba9a3ed0c18bc3e415e81bd77d2e2f1213f7d81242efe584f4845b1104a0690e0561d1779a99f6a0f77116668c8f4e5fa92a4
AUX 0034-Fix-Software-Slope-Rendering-for-non-1.2-pixel-ratio.patch 976 BLAKE2B 650f1a2c7b10d95b1850979137a3bd396dde4f2c9828de43728a0ff0140622ca4f4c7f4611b6b00e9116365caef00b51d87d8ec3943fd0f9fd4968d2b9db2231 SHA512 bff63b8615e0983f7c16cd810da39e48187d24ef8827261aff3afcabcbf6ad21a443f1cc3d2a41c3585594c912c0b5dc5263a4fc5af3473fb6132297968ff2c9
AUX 0035-Improve-Services.patch 5438 BLAKE2B 346dc0cb29ddd137fbd730054d4022e8511ad13794495c522b150c6fb3aa1a95251215a8812a1773eedabe79dfafaab506b86cae4f7ccb6e2a61607b299eeb05 SHA512 0483a8893d0ad9cbf288f83d8e13a778105569b6892c4cec18d029573c185d4150c978cecaf6fba9249e35ad497428c46ff70f00154ded249a0c3a78c0a5f02f
AUX 0036-fixed-typo-in-string-label.patch 633 BLAKE2B 7a7c71c2595c1a5456bdd83f60a490bdeddf5f92efd7d1e576cfeddde9a4edaaaa6a894f6417250b4849313a4a27bf918c7068bbc9d6d08c110c9e27bd4ef8db SHA512 3816735c6d8b5d3bd74a3246041a3a13a4a2c7988b2d1440c5677957657784cae3d6ab2eca28bc80f6b4a4818d9d798a7b675bbc4a06cda2dc7d05459119e466
AUX 0037-Update-service.zs.patch 846 BLAKE2B d422688413b7ad6e8270f9685f211296ef43e5d77051360df79a48de4aadf45c91dc33c825e01c10fe2160ed60a41db754c8c93b90c2bc6eedc1ed348f125fdf SHA512 a4831e68ad13029f7356cf544747ea6dc4bee306588e10768be577de0d478bdc558aa4d2a7828d67bfbe7de7dd495989c0caae4630be85c51f229a7a2bedd765
AUX 0038-Allow-GAMEINFO-LOAD-to-load-directories.patch 985 BLAKE2B f1491cafdbe2ce28b35d6014a0b125ece148ea58c6112d4e9217e304f1f325b65bab56ec942ccb45ea417fefba172c4855cd82d085884a96ca9cd7e9ab8d40c3 SHA512 dd9af90a268dedc4c241ddddc59821ad4f14ff557331c9d7e6d21fef40cc5a230789d5beb5e376f4e391d86f6b830dd6b7b751c8bb46afd0b928c6975aac6557
AUX 0039-fixed-bad-character-offset.patch 700 BLAKE2B 8675d782fa14fdb3907e3410cef1b6d384f63bae1260cc8f184217d667bdd6d024e8b3ecc2b1edf691781ef079f0d134d28b5e588c190da140a393fb7860656c SHA512 7075e16c2eac170835d41a2d68fe1afc21ecbe435062345981b356bc72135aa54953b38762e289d2fd598de0d371d7e935f27dfdf4e86eebc07da34519cbb8a7
AUX 0040-Fixed-incorrect-parameter-type-in-A_CheckForResurrec.patch 884 BLAKE2B 2d27f953bb7a23e637dfce738f93716f97e7b4ab1e15736c42edd48b8048af165aa58b090152bd302e845ec53ececa6ff48f02dad74e2058187a66bb9efaad50 SHA512 1c3730bad63d52589d378b1dcad67c033c77a205d37e1c2a2b59ab799fecf5ceaad32033e4b3bb7846952a714d10efc966c24ddc59dfc6508ef92174a8bbfa5e
AUX 0041-Fix-TArray-allocating-0-bytes-in-constructor.patch 883 BLAKE2B ac1832b18047e65af9e30d2a886b3f26bb65255290370dcac67c6cc6520edd8a0a14a0416cad507e9c0b198b06aeb5c1f9f93d57b18596e555c0d81e788d4f77 SHA512 3a77b47332352674940efbfbb5faa3346da49e1e7bb626bbcb02968596f66fa76bf678adeff690678fc2ed70575b905532f244e637cb886d4153f3c8c853f848
AUX 0042-Use-simpler-constructor-for-TArray-in-FBlockThingsIt.patch 1005 BLAKE2B 30573f45426762ae08ae8481f6e238c7d2bb4f87ff35b40a523c6900cfc0c369e725f234eb6a24c526d6f61fa0eb52fd0165360cc20ceb81f1804725d71e792c SHA512 d0ba0ec3fa6bf9ec3e0a3ac5487fadb4bde9971c35990a4eb660f3118cb05067857350b45311443d696d3a3c10712b76748ed89c97034f6c011f9505c69212bb
AUX 0043-Fix-possible-memory-corruption-in-TArray-Delete-inde.patch 739 BLAKE2B 9d275d2ba6849c821e7b97e262823167d325fea21c001e2b477e7efe9b9b7cc85e0ff956e84becd1e50f49793753ba47d2c55c7c00cc8366bbf01a85014f8771 SHA512 94f4c5448b8bd08b9734108d16f0719b62a122fac41438b4d2e9363518bd853930532bb2d23cbfdf4797f065a207e8ae892bea12325fa7f623c671e87c63baf5
AUX 0044-updated-RapidJson-library.patch 460535 BLAKE2B 33a439547b0cc291340e31b5cc471a929442a75acf3dc97f598b2019233499b307be9e4a75eb18f42c2e3f9d489960c12d0427ca5c22b54a38bdf67481948942 SHA512 6b19ba0454a054b02c7faa0f49493511510d2c7451a4e5aa66f8a8004fa257aa4bfe1c31557f8e5e24078b6eba4808298f2cb870a9955abeba85d438fa69ac91
AUX 0045-made-D_WriteUserInfoStrings-memory-safe.patch 7055 BLAKE2B e65c9ebfe4fad7e67b62a968ab25c412b30936e93576d14e7cbc446491602acc19b4f3de302fa74693b208926f513fa98708c22612c217127def91b40b2e05ae SHA512 596844c81ea53bde64d914907579e70dc994c3ac722178c693aa9a015e7b0c71c8d9699b5fd0b65005cbef93b0e73db85d64452e08951a55179c4e54a721c2fa
AUX 0046-avoid-arithmetics-with-literal-null-pointers-in-Pars.patch 1910 BLAKE2B 0b6cacd3b9d899bfa1a2bc208e1cb67fa83318ccdd364b5c8739208c53595f5fb68c1721234bb3e9ec6f54458df81f98552fd2c36e932976f11568eb596ef7bb SHA512 b1764a2aac19ddf344a39e5c37354d663fa722593d69aa497180890efdd7800f60ed047a62552f41f3675bf56cf6a6774bd2586ce2ba585e194d22550079385f
AUX 0047-backported-RapidJSON-fix-from-Raze.patch 2723 BLAKE2B e276f64f80a2164e3b206e99af81255cb1b50e5555bd8c26860c8caeaeff1abc983311cf9e3c787ae1bb251d02c61bc9256270cb4aacbc8da0724084d9fb9789 SHA512 e02f1349102e657a8a408191be75f4e660d4dc11a2805e955d5b99be00aa1c7e3ff2982bf69ca282e0fd889190092355da76810c41d8eb3bee3de9e0cd60c963
AUX 0048-Fix-value-of-X-Y-when-Y-is-an-int-constant.patch 933 BLAKE2B 562f19d03b102aaf5ce8e61c8a9df57e8b7dfe1b2b0b5ba6a758326754952f438cded34021b581203c4ffe9a5448f8050db7139715ef7c12339ac0995a1c1aec SHA512 b45a265401d0e34964ece6359d7ccd5b896ba33405e4175bacb7162a3efa0d87aaaa65f640d8338f9e9b304c0f49db38bac727b87efc2bc6313460e7418ff866
AUX 0049-Fix-BUILD_SHARED_LIBS-build-option-on-Windows.patch 985 BLAKE2B 8aa48badc2e3ea5e0667b6d5b7eb40aabb94f9139a52df3eb32f5d1426376343ad1aec4999f98a8bcf4863e41d85785bf121c079487959fe17c53cd6977e1d02 SHA512 2e4c383a45082cfe3de0f6c9932c28655b4ae20ffba6f4b0989e31ac36b5c675a05c907248e968e83d4dd4735ed20c5537343954c00381e6b82d1957aff0689b
AUX 0050-Add-missing-include-guards.patch 7356 BLAKE2B ea6585c407855027501c2b19c5066b7be632f25eaf644689a2adbf5962b4ef3e860bad43e37094c5e67fe13c476a8a23480b54ef22cf3a52907e826ff0a0fd75 SHA512 bdd5ad506f8f09dd668fd943fb61bc8c919843ca7f4a58142faad395ac6499ac22d79d5bf3fdd2d7d6fdff47f028d8f6ff5ae16687c8cf045bddc61e64a79402
AUX 0051-Update-service.zs.patch 806 BLAKE2B fb813ae2c68b4736d02a86576922111f7eaaf4b8ac35284240e2a3d1c5f4bdd8347fda2671d618d80aabd3d9c56ed2b186f816a9e724ee586fc63c9d7b9137f6 SHA512 cfa581be100a46b2daf025f4a916fb63d1a9d186e489ddaf66c27253082f6288afd528fb85364df36927f8ea4f7a66807df5ed8b3c48ca3ddc53f2d38785259a
DIST gzdoom-4.10.0.tar.gz 24319337 BLAKE2B a683182ed1bb091d19cff127352068faa846f0a10bc0ade07f8277dca7a5367d0bc19d2828c485fba11cefdb47aa8d99224bb8babbebe3df0b99a6fde577a586 SHA512 fd2f6e34aaa59e3d153de6359211082398878dae3d396ab55fc736f94e1378d5e03193d7912a29a531cf1dc255d30af63ad1c6472784e3745db6ac4a3a9e6fe6
EBUILD gzdoom-4.10.0-r1.ebuild 5736 BLAKE2B f4f8768736c626e15c6bc3394e424a56af43e84d7175521d59de8800a5a9d8c9654f6d91533d995be6da9af6eff62797687077bce632c8994c260255f1996d0d SHA512 aba87d5389843beb03cbe23af85aba7a66920580aeadf9b09390e8d25df0cf91d7939be390ce32309d624fba9a63ebb566696ec36630490c12530c4acf93e12f

View File

@ -0,0 +1,51 @@
From ac07dac1782544b61e44b9fe1d5f0fffd356aa15 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 4 Dec 2022 17:10:09 -0300
Subject: [PATCH 01/51] Add casts to F32 Map/MapIterator functions to get rid
of double to float conversion warnings
---
src/common/scripting/core/maps.cpp | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
diff --git a/src/common/scripting/core/maps.cpp b/src/common/scripting/core/maps.cpp
index bb7cd369b..28fda643e 100644
--- a/src/common/scripting/core/maps.cpp
+++ b/src/common/scripting/core/maps.cpp
@@ -162,7 +162,15 @@ template<typename M> void MapInsert(M * self, expand_types_vm<typename M::KeyTyp
MAP_GC_WRITE_BARRIER(self);
GC::WriteBarrier(value);
}
- self->Insert(key, value);
+
+ if constexpr(std::is_same_v<typename M::ValueType, float>)
+ {
+ self->Insert(key,static_cast<float>(value));
+ }
+ else
+ {
+ self->Insert(key, value);
+ }
self->info->rev++; // invalidate iterators
}
@@ -246,7 +254,15 @@ template<typename I> void MapIteratorSetValue(I * self, expand_types_vm<typename
GC::WriteBarrier(val);
GC::WriteBarrier(value);
}
- val = value;
+
+ if constexpr(std::is_same_v<typename I::ValueType, float>)
+ {
+ val = static_cast<float>(value);
+ }
+ else
+ {
+ val = value;
+ }
}
--
2.39.3

View File

@ -0,0 +1,25 @@
From e07fcbfc8f1be46712ce5a3271334b63494ac3d3 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 4 Dec 2022 17:21:09 -0300
Subject: [PATCH 02/51] Fix PMapValueReader warning on Clang/GCC
---
src/common/scripting/core/types.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/common/scripting/core/types.cpp b/src/common/scripting/core/types.cpp
index 702277e89..3054335ac 100644
--- a/src/common/scripting/core/types.cpp
+++ b/src/common/scripting/core/types.cpp
@@ -2603,7 +2603,7 @@ template<typename M>
static bool PMapValueReader(FSerializer &ar, M *map, const PMap *m)
{
const char * k;
- while(k = ar.GetKey())
+ while((k = ar.GetKey()))
{
typename M::ValueType * val;
if constexpr(std::is_same_v<typename M::KeyType,FString>)
--
2.39.3

View File

@ -0,0 +1,25 @@
From 0d60192f3dfed0c6bf62a037241329543c006b4d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 4 Dec 2022 22:25:51 -0300
Subject: [PATCH 03/51] Fix Quicksave Rotation
---
src/g_game.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/g_game.cpp b/src/g_game.cpp
index d015fe837..4a3398fde 100644
--- a/src/g_game.cpp
+++ b/src/g_game.cpp
@@ -2250,7 +2250,7 @@ void G_DoQuickSave ()
num.Int = lastquicksave;
quicksavenum->ForceSet (num, CVAR_Int);
- file = G_BuildSaveName(FStringf("quick%02d", nextautosave));
+ file = G_BuildSaveName(FStringf("quick%02d", lastquicksave));
readableTime = myasctime ();
description.Format("Quicksave %s", readableTime);
--
2.39.3

View File

@ -0,0 +1,180 @@
From 370fcda5fa5fb07bbc6bfbbedb4004e7af0a4119 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Mon, 5 Dec 2022 12:05:26 +0100
Subject: [PATCH 04/51] - fixed some bad character offsets in Doom's and
Raven's small fonts and deleted an incomplete character.
---
.../filter/doom.id/fonts/defsmallfont/00CE.lmp | Bin 94 -> 94 bytes
.../filter/doom.id/fonts/defsmallfont/00CF.lmp | Bin 124 -> 124 bytes
.../filter/doom.id/fonts/defsmallfont/00D1.lmp | Bin 164 -> 164 bytes
.../filter/doom.id/fonts/defsmallfont/00D2.lmp | Bin 136 -> 136 bytes
.../game-heretic/fonts/defsmallfont/0404.lmp | Bin 129 -> 129 bytes
.../game-heretic/fonts/defsmallfont/0490.lmp | Bin 123 -> 123 bytes
.../game-hexen/fonts/defsmallfont/0403.png | Bin 1196 -> 0 bytes
.../game-hexen/fonts/defsmallfont/0404.lmp | Bin 0 -> 129 bytes
.../game-hexen/fonts/defsmallfont/0404.png | Bin 893 -> 0 bytes
.../game-hexen/fonts/defsmallfont/0490.lmp | Bin 0 -> 123 bytes
.../game-hexen/fonts/defsmallfont/0490.png | Bin 891 -> 0 bytes
11 files changed, 0 insertions(+), 0 deletions(-)
delete mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0403.png
create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.lmp
delete mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.png
create mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.lmp
delete mode 100644 wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.png
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00CE.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00CE.lmp
index fac2a4633e3c904203afa3c02714f849a4c630ca..30e2b0d3be7650dca0d8b59edb49c108f63835be 100644
GIT binary patch
delta 13
Ucma!xV`pXHVqjokp2!{!01Pex#Q*>R
delta 13
Scma!xV`pXHVgQ1P?BM_mA_2kx
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00CF.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00CF.lmp
index 2f6dcf7c27c5b216f5b85965dcc8ef0663d689a1..bf0359c31651ee01f24dbec2ec46df3b1f986af5 100644
GIT binary patch
delta 13
Ucmb=aVdr4rVqjokp2%Jb01sFKA^-pY
delta 13
Scmb=aVdr4rVgQ1P?4<w?OadPO
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00D1.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00D1.lmp
index 8550355ab3699de87175570913fb5f65e07a0814..7eb9f80f279da2421d163a9ff03e80d736cc6207 100644
GIT binary patch
delta 15
WcmZ3&xP+0NgMo{Ifq{7<`&<AOZ~~kF
delta 15
VcmZ3&xP+0NgMo_y2qv=61ppOf0+|2+
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00D2.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/00D2.lmp
index 0eec3cb2186064aaf0a583716488129222c7faaa..4d0011457d016daf70c24ed5a28e1ed873d2b5ba 100644
GIT binary patch
delta 15
WcmeBR>|kW)VBlh4U|^oe-Ut8^L;^?v
delta 15
UcmeBR>|kW)VBlf^f{E;n01`L?MF0Q*
diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0404.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0404.lmp
index d515a5a362e89d28f9cd28dd57c7338c14538824..af549dd86f3dd84956c7c3fbe24759017b21c939 100644
GIT binary patch
delta 16
XcmZo<Y-Hr%U|?rpVEFfcB1a_v8*c<F
delta 16
UcmZo<Y-Hr%U|?qefr%WI01|xyE&u=k
diff --git a/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0490.lmp b/wadsrc_extra/static/filter/game-heretic/fonts/defsmallfont/0490.lmp
index 4b98625cbe7f45c201de284354c02281c15ccc99..945b1c6bd28470aebc4d4a39a26de61da93cd312 100644
GIT binary patch
delta 14
Vcmb=f=HOu9U|?YQ|9>J!F#s7f1Q`GT
delta 14
Vcmb=f=HOu9U|?WiVwlKL3;+;E0v!MV
diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0403.png b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0403.png
deleted file mode 100644
index c6ea83aeeb115b78e29217ea6d6686ef4de817aa..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1196
zcmd^9!K>V45TEBO<hAJ|Vh)i8jF7_~B1Fw0V1&@-)$|#8DNP}i6e8xZhX^S~2ofY<
z)J66Xbq|Y1h`5Iw7TrS*D{Ntf9=5RPA}j1+4|}M%g+1({hhC)P_xf-6@y!hUhWX9#
z&5!S^n`h?nr7M>J;P~{$$t@C(h*3v}#J|w__rr6b{n6DANCZTDCc&pHz#-gx@Ah>9
z2^`Halx0~Y$MZbPvNTOo6eX*IC^4KsF&x;MWGbRA@i-no9S)xi2D^TLTNIm4XPu_Y
zIG%^$EC{BaH*wv@wnwH}>-s>`N=50*av@1wQOpG)<N1W+VwMdVrcKj6MR^qEP?QZ|
z0vKez-3A{maXrK31Q!j?YMhoh>0y&U9j5z1ye-2`FIaWGMefWqdzxBJYz`x15b9;1
z6~5YWmCTV7TMEsVZ-|aASSqi}oFcK3$n5v~?RLA_Y}V`ba=Dz(=d;;tI-QQk<ECkb
z!(m<5RaN!-{a&xv?RN7#&$28@k|>J8Fbsmg^E}seZQC|Y(=ZH8(^OTJWx3UAiK3Wb
z6z$vXjqfj9Z)!Uu)2ei%r|P+^#*!R}Er%Bjj#C&`q-l<t*2TE$jQUw!BvmIWv#^&2
z-Pp@RHx2B>w<6bQJGyVFuAw-(T;)NLIC*F#zTS2e&y;LUG!#C~f+%*|q3s2x<7%d@
z=%%FVEyQ@Yc2^VQK`D<?q4d~}LB-O!4sgB3$pp(1(-eIlbsYr(0rmio09F8VfGI!&
zPy>_zU4RTA2519#0AyukU)wFtW;h&TQD7XS<DjY%6%iV82@T;O1f)6#2mze)zPmN9
zCO9jxNpav|p<%{9iMd_GY}(Aqr{^y9z=p92Bjfp;xI%0Y3&ar7L=+LB)}d0NCqqXh
z;%pf*uZpb9)1<|7DQN&QfC#_=5D>63aBE>oN^t>;3d#t=It>5#`}kde1NivXnL|?l
z>+`erk3^p8;=LPp$d+mL+z#OTA6_Qlo2MsNZy$XZJp6rr_|yHjzr6qBZ(l!r{OjFU
z#kZK(zU5!)&yOx#{^XlKUw`NBE1w_yb%A^~ca|?+yv%&@2C0VA>t`pwTzmhs{{Z$O
Ba>@Vz
diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..cec6e159655acc71a3bea2d48f12112da4b75d78
GIT binary patch
literal 129
zcmX|(!3}^g3<Fb8WiL=wR8{-s$(sQffB_hQ0T`d+BE;jYixY(gGrQZYT*N9iv5P~T
q;u6D10%*>YF+{SN##mAcpI2lgUGzSqAiq5+`}?Zh)W0~1@6jIQbr0JB
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.png b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0404.png
deleted file mode 100644
index 0e4d9ac52322e0ad145632cc74a3a5d257330a17..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 893
zcmW-fF{s;C6oyaw28E{vQ#1&wK`A0QAc_VJDrgX?-a~yTM31L{C>oR^iicZJL4yi{
z2r7zOJg6Xw2MroLXfVWs1`i(G5Q-okoZy0?9y|o<!GkF&ghJu;HgNAf+<Q6yf8hUq
zx_)HcIsf<^0Pb9UadAWIZMvD;XY~AF`0qCWXK?-S@g=<?0N-P5+eSn|5IBxwS(afK
zMH3~t$BRsl2S=AJRWf7&=ks^d>D$TVI36F0Vm}=2(sUEYD?++3T>AdP^IFH5Syp2h
z6J4)Vb*w0bERQ597sX5v5}uDaj`Vs1mJJxjXBd}Z8~_Wzq{AHd_-2E<4mS&2x7anf
ztZ-3co4=c;r%8OM$i57>BY&N{tIS!Zb{kvM$ea+P3iTq;hMt<aO5(`G>IbIe8ltTU
zhQg~dCriE4>2x?8_WS*Ax7%zstJSLOy5({?pU>O2old7s)6{i69*@hi9F0bKo@ZH>
zBuNxSgpe={ec$&y&v6{fvP{#|bzRdmMN#_wz9dNrM$u_7*ayMd^Ouf0v+UY1OU=j?
zEtZu~>brty^1RyPB$nlwWmC-S;cT2WMN$u=DkEhYj$%J2UK%<{U`L)gaE-v$JX3WI
zrOv}5adToPfiZAZ-;y0&GF2hX!YK9z#PLJR^>oWo4NKOHK4N^_dE15gqEcq5Soz%0
zWMUa;*0|f@Vu4kKX^KIBhJm6;VK@Q20oVep0G0qPKm$+#i~ur#7+?V41JKB5UWWsA
z9ZsiM6d1?ox~OTCA}T`{m7y9`fOh8q1i<~@_qfCD0=o*^6em6wI%dM#m_J6n{h+rE
z*p<h;aA0o1%zQs5ZV_9=0+AqEh!P?+2Gkmq3JfI*XWvu=P2v=Rr55i|(g73ziJ}ca
z9|3C<4>qQ>71yw?p^AVsg#2**mrB1sySjMr_`5&utsb1i-4D;6|2ew3e|i7u-GA`)
zkMpmeoc(<9$**7jVn4qsFB|#z+u!`F-~C&!%5QId`s}0btDBe93*hSV(Z#dRpM3ux
DKQnIz
diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.lmp b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..16033384e9ef18923ca85327569eff6e9eb20461
GIT binary patch
literal 123
zcmXYpK?;B{3<OgYc7G7sL+jB8_y8Z!2YB@A)&E1>N+Gi>$q*XNEMiw4;uKw6;uep1
kMFI(EfJlngYALgC*|U?{llAxHEWo(iDml;MKFjzOAAP0|fB*mh
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.png b/wadsrc_extra/static/filter/game-hexen/fonts/defsmallfont/0490.png
deleted file mode 100644
index 4af1bb68091ca11c81730a6c549cbc56ec9a452b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 891
zcmW-fF{s;C6oyYpsKQf%DH;S7)F~QF(V&2!8Wa$XUaCA)o<bDRpn^h0@Ss5y4NB1<
z8kL&V1+{oEMT4LoGzjW~3MTj!6*8#c!34J$s)C0M9y}QOhK#2-fqU=ap2PXhf&YJY
z|6IRu^8N_`+&H^;`hdi1Z|=1#<h^`({v6;6-2d$1UGhbs*&byW1|o7C$1n^{(-cLC
za-SD^Y@h0}U@C$x@v6Y#V)44FE@!jDbh^*7-DuRs@g@vczTbLY<2Xy(u1#~U>!qsB
z6eX9WsVHWGFy{HR-%mI$V%d;k{9bQJ(=J6h6lGDA37`XLWSPSbUv02!akIpAjctid
zj>`$w>FX*!&cc1}?<U@M?5tC3m6%Oz)S+Gl+RRsTPsv<)WJ`%9MyBBF16SiMwQtCr
zDzcKm2z>8&Jnr}V-EP-)-Da~{tyXQ@HchiwEb6+hs;Vr@q9~@*>0~k)kH=}6CP@-S
zQ4j>a?|Yu-IF4=GrfKTBu4$U0D6%YzqBs}~c%F|i2#&+y&UM$e)0oy=Hwsmo$Z9Ie
zp&)wvz~cHE%St_lr)idI%4|`L=F_CiqGA-}i9d<Gap<JJ9eZZv8iB11E!8z-TazqR
zEK)CvtkgFmR~=fCqYI|OYZ4bHUJ%+t-*i0PvK8HwR9%qO0b+RQ?Cnx}k&E-VpF7M*
zqe20Q*4TBpTw<PM9HZ-^s$##707rmV09$|+Km$+%lmI!v7$5-%0fqn$0FjL7wclgg
zVpU<5VHl!ip)3;@5ezv5Ll^`=x>Eojz<M+H(BXE8ZH{$}GY2yT6Yer(4?%A?>}_3o
zWm7LqSm-d<-tLK8#2PU}^bvJL9uZ0v3K=FMjCf+sfhKY?&xjmNM!dC>0w4nL04xAW
z0u~zX4U9=Eu3=q39)Mr^{_ns2@HZ)ce0KWD!zcfEkFI`wadG?Ge=ly|{BHI5Px|Eg
zv+v)Pe!l$gj|U%q`TXYN>tFr&^46!HfAGyae_j0opt|>-e(R@SKOzJ;yL*26%biD0
F{|BW2ZJ7W7
--
2.39.3

View File

@ -0,0 +1,70 @@
From 91930dfe53d6ca1432c9e58cb108124e5b3ea5b0 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Mon, 5 Dec 2022 12:29:03 +0100
Subject: [PATCH 05/51] - fixed GC::FullGC not collecting everything anymore.
With the delayed handling of internal references of destroyed objects the function now returned without making sure that it really got everything.
Repeating until it cannot delete anything new anymore makes it work again as intended.
---
src/common/objects/dobjgc.cpp | 40 ++++++++++++++++++++---------------
1 file changed, 23 insertions(+), 17 deletions(-)
diff --git a/src/common/objects/dobjgc.cpp b/src/common/objects/dobjgc.cpp
index 34199efff..9baffc3a3 100644
--- a/src/common/objects/dobjgc.cpp
+++ b/src/common/objects/dobjgc.cpp
@@ -550,28 +550,34 @@ void Step()
void FullGC()
{
- if (State <= GCS_Propagate)
+ bool ContinueCheck = true;
+ while (ContinueCheck)
{
- // Reset sweep mark to sweep all elements (returning them to white)
- SweepPos = &Root;
- // Reset other collector lists
- Gray = nullptr;
- State = GCS_Sweep;
- }
- // Finish any pending GC stages
- while (State != GCS_Pause)
- {
- SingleStep();
- }
- // Loop until everything that can be destroyed and freed is
- do
- {
- MarkRoot();
+ ContinueCheck = false;
+ if (State <= GCS_Propagate)
+ {
+ // Reset sweep mark to sweep all elements (returning them to white)
+ SweepPos = &Root;
+ // Reset other collector lists
+ Gray = nullptr;
+ State = GCS_Sweep;
+ }
+ // Finish any pending GC stages
while (State != GCS_Pause)
{
SingleStep();
}
- } while (HadToDestroy);
+ // Loop until everything that can be destroyed and freed is
+ do
+ {
+ MarkRoot();
+ while (State != GCS_Pause)
+ {
+ SingleStep();
+ }
+ ContinueCheck |= HadToDestroy;
+ } while (HadToDestroy);
+ }
}
//==========================================================================
--
2.39.3

View File

@ -0,0 +1,55 @@
From 50c0860dd6dd34c9aeff63e8cc348ecdc103f498 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Mon, 5 Dec 2022 15:05:08 -0300
Subject: [PATCH 06/51] Fix wrong assumptions about actor initialization in
Map/MapIterator
---
src/common/scripting/core/types.cpp | 10 ----------
1 file changed, 10 deletions(-)
diff --git a/src/common/scripting/core/types.cpp b/src/common/scripting/core/types.cpp
index 3054335ac..838275dad 100644
--- a/src/common/scripting/core/types.cpp
+++ b/src/common/scripting/core/types.cpp
@@ -2399,10 +2399,6 @@ void PMap::Construct(void * addr) const {
void PMap::InitializeValue(void *addr, const void *def) const
{
- if (def != nullptr)
- {
- I_Error("Map cannot have default values");
- }
Construct(addr);
}
@@ -2475,7 +2471,6 @@ void PMap::DestroyValue(void *addr) const
void PMap::SetDefaultValue(void *base, unsigned offset, TArray<FTypeAndOffset> *special)
{
- assert(!(base && special));
if (base != nullptr)
{
Construct(((uint8_t*)base)+offset); // is this needed? string/dynarray do this initialization if base != nullptr, but their initialization doesn't need to allocate
@@ -2868,10 +2863,6 @@ void PMapIterator::Construct(void * addr) const {
void PMapIterator::InitializeValue(void *addr, const void *def) const
{
- if (def != nullptr)
- {
- I_Error("Map cannot have default values");
- }
Construct(addr);
}
@@ -2944,7 +2935,6 @@ void PMapIterator::DestroyValue(void *addr) const
void PMapIterator::SetDefaultValue(void *base, unsigned offset, TArray<FTypeAndOffset> *special)
{
- assert(!(base && special));
if (base != nullptr)
{
Construct(((uint8_t*)base)+offset);
--
2.39.3

View File

@ -0,0 +1,26 @@
From 7fcd1ab5449e451d1eeb2529839f0cfda7a67724 Mon Sep 17 00:00:00 2001
From: Boondorl <59555366+Boondorl@users.noreply.github.com>
Date: Tue, 6 Dec 2022 06:02:28 -0500
Subject: [PATCH 07/51] Fixed IsActorPlayingSound's default argument
Now properly passes the invalid sound id.
---
wadsrc/static/zscript/actors/actor.zs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wadsrc/static/zscript/actors/actor.zs b/wadsrc/static/zscript/actors/actor.zs
index 4fbc2e761..978fc34ab 100644
--- a/wadsrc/static/zscript/actors/actor.zs
+++ b/wadsrc/static/zscript/actors/actor.zs
@@ -1129,7 +1129,7 @@ class Actor : Thinker native
native void A_StopSounds(int chanmin, int chanmax);
deprecated("2.3", "Use A_StartSound() instead") native void A_PlaySoundEx(sound whattoplay, name slot, bool looping = false, int attenuation = 0);
deprecated("2.3", "Use A_StopSound() instead") native void A_StopSoundEx(name slot);
- native clearscope bool IsActorPlayingSound(int channel, Sound snd = 0);
+ native clearscope bool IsActorPlayingSound(int channel, Sound snd = -1);
native void A_SeekerMissile(int threshold, int turnmax, int flags = 0, int chance = 50, int distance = 10);
native action state A_Jump(int chance, statelabel label, ...);
native Actor A_SpawnProjectile(class<Actor> missiletype, double spawnheight = 32, double spawnofs_xy = 0, double angle = 0, int flags = 0, double pitch = 0, int ptr = AAPTR_TARGET);
--
2.39.3

View File

@ -0,0 +1,27 @@
From 1fcc6826eada90cd550398376ecac9bf582aed2f Mon Sep 17 00:00:00 2001
From: "alexey.lysiuk" <alexey.lysiuk@gmail.com>
Date: Sun, 11 Dec 2022 17:15:09 +0200
Subject: [PATCH 08/51] - removed clangformat from discord-rpc
---
libraries/discordrpc/src/CMakeLists.txt | 4 ----
1 file changed, 4 deletions(-)
diff --git a/libraries/discordrpc/src/CMakeLists.txt b/libraries/discordrpc/src/CMakeLists.txt
index 18c3009e2..34aca1e4b 100644
--- a/libraries/discordrpc/src/CMakeLists.txt
+++ b/libraries/discordrpc/src/CMakeLists.txt
@@ -118,10 +118,6 @@ if (${BUILD_SHARED_LIBS})
target_compile_definitions(discord-rpc PRIVATE -DDISCORD_BUILDING_SDK)
endif(${BUILD_SHARED_LIBS})
-if (CLANG_FORMAT_CMD)
- add_dependencies(discord-rpc clangformat)
-endif(CLANG_FORMAT_CMD)
-
# install
install(
--
2.39.3

View File

@ -0,0 +1,27 @@
From 7cfb72ee4deead7a800fb9c82719bf0c2b86aa9d Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 18 Dec 2022 15:43:54 -0300
Subject: [PATCH 09/51] Error out instead of crashing for vector out variables
---
src/common/scripting/vm/vmexec.h | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/common/scripting/vm/vmexec.h b/src/common/scripting/vm/vmexec.h
index 671bfc081..6716509da 100644
--- a/src/common/scripting/vm/vmexec.h
+++ b/src/common/scripting/vm/vmexec.h
@@ -824,6 +824,10 @@ static int ExecScriptFunc(VMFrameStack *stack, VMReturn *ret, int numret)
assert(b < f->NumRegF);
::new(param) VMValue(&reg.f[b]);
break;
+ case REGT_FLOAT | REGT_MULTIREG2 | REGT_ADDROF:
+ case REGT_FLOAT | REGT_MULTIREG3 | REGT_ADDROF:
+ case REGT_FLOAT | REGT_MULTIREG4 | REGT_ADDROF:
+ I_Error("REGT_ADDROF not implemented for vectors\n");
case REGT_FLOAT | REGT_KONST:
assert(b < sfunc->NumKonstF);
::new(param) VMValue(konstf[b]);
--
2.39.3

View File

@ -0,0 +1,45 @@
From f4374179284cc9581c8ec7d629d1e93cfd443b16 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sun, 18 Dec 2022 21:19:18 -0300
Subject: [PATCH 10/51] Fix StripLeftRight
---
src/common/utility/zstring.cpp | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/common/utility/zstring.cpp b/src/common/utility/zstring.cpp
index 8d4d4d119..2b3c4f1fe 100644
--- a/src/common/utility/zstring.cpp
+++ b/src/common/utility/zstring.cpp
@@ -843,7 +843,7 @@ void FString::StripLeftRight ()
}
for (j = max - 1; j >= i; --j)
{
- if (Chars[i] < 0 || !isspace((unsigned char)Chars[j]))
+ if (Chars[j] < 0 || !isspace((unsigned char)Chars[j]))
break;
}
if (i == 0 && j == max - 1)
@@ -863,7 +863,7 @@ void FString::StripLeftRight ()
{
FStringData *old = Data();
AllocBuffer(j - i + 1);
- StrCopy(Chars, old->Chars(), j - i + 1);
+ StrCopy(Chars, old->Chars() + i, j - i + 1);
old->Release();
}
}
@@ -899,8 +899,8 @@ void FString::StripLeftRight (const char *charset)
else
{
FStringData *old = Data();
- AllocBuffer (j - i);
- StrCopy (Chars, old->Chars(), j - i);
+ AllocBuffer (j - i + 1);
+ StrCopy (Chars, old->Chars() + i, j - i + 1);
old->Release();
}
}
--
2.39.3

View File

@ -0,0 +1,28 @@
From ab0f928bc324750ae5e8f4b92b308fe8e0a00d7e Mon Sep 17 00:00:00 2001
From: CandiceJoy <candice@candicejoy.com>
Date: Sun, 1 Jan 2023 22:51:37 -0500
Subject: [PATCH 11/51] Fixed custom height and width not saving.
Signed-off-by: CandiceJoy <candice@candicejoy.com>
---
src/common/menu/resolutionmenu.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/common/menu/resolutionmenu.cpp b/src/common/menu/resolutionmenu.cpp
index 6074d018a..1920927bb 100644
--- a/src/common/menu/resolutionmenu.cpp
+++ b/src/common/menu/resolutionmenu.cpp
@@ -83,8 +83,8 @@ CCMD (menu_resolution_commit_changes)
vid_fullscreen = true;
vid_scalemode = 5;
vid_scalefactor = 1.;
- vid_scale_customwidth = menu_resolution_custom_width;
- vid_scale_customheight = menu_resolution_custom_height;
+ vid_scale_customwidth = *menu_resolution_custom_width;
+ vid_scale_customheight = *menu_resolution_custom_height;
vid_scale_custompixelaspect = 1.0;
}
}
--
2.39.3

View File

@ -0,0 +1,176 @@
From 112d0060d58dd2a107fed3c5454504f67128d88f Mon Sep 17 00:00:00 2001
From: Marisa the Magician <marisa@sayachan.org>
Date: Wed, 4 Jan 2023 11:56:15 +0100
Subject: [PATCH 12/51] Prevent important messages from being accidentally
filtered.
---
src/common/engine/serializer.cpp | 2 +-
src/common/filesystem/filesystem.cpp | 4 ++--
src/common/menu/menu.cpp | 2 +-
src/common/scripting/vm/vmframe.cpp | 2 +-
src/d_main.cpp | 2 +-
src/g_level.cpp | 2 +-
src/p_conversation.cpp | 2 +-
src/playsim/dthinker.cpp | 4 ++--
src/playsim/p_acs.cpp | 2 +-
src/playsim/p_spec.cpp | 2 +-
src/playsim/p_user.cpp | 2 +-
11 files changed, 13 insertions(+), 13 deletions(-)
diff --git a/src/common/engine/serializer.cpp b/src/common/engine/serializer.cpp
index 808b0fedc..8c68b5a3b 100644
--- a/src/common/engine/serializer.cpp
+++ b/src/common/engine/serializer.cpp
@@ -683,7 +683,7 @@ void FSerializer::ReadObjects(bool hubtravel)
{
r->mObjects.Clamp(size); // close all inner objects.
// In case something in here throws an error, let's continue and deal with it later.
- Printf(PRINT_NONOTIFY, TEXTCOLOR_RED "'%s'\n while restoring %s\n", err.GetMessage(), obj ? obj->GetClass()->TypeName.GetChars() : "invalid object");
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, TEXTCOLOR_RED "'%s'\n while restoring %s\n", err.GetMessage(), obj ? obj->GetClass()->TypeName.GetChars() : "invalid object");
mErrors++;
}
}
diff --git a/src/common/filesystem/filesystem.cpp b/src/common/filesystem/filesystem.cpp
index 21acc4e2f..f18ad5138 100644
--- a/src/common/filesystem/filesystem.cpp
+++ b/src/common/filesystem/filesystem.cpp
@@ -1696,6 +1696,6 @@ CCMD(fs_dir)
auto fnid = fileSystem.GetResourceId(i);
auto length = fileSystem.FileLength(i);
bool hidden = fileSystem.FindFile(fn1) != i;
- Printf(PRINT_NONOTIFY, "%s%-64s %-15s (%5d) %10d %s %s\n", hidden ? TEXTCOLOR_RED : TEXTCOLOR_UNTRANSLATED, fn1, fns, fnid, length, container, hidden ? "(h)" : "");
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, "%s%-64s %-15s (%5d) %10d %s %s\n", hidden ? TEXTCOLOR_RED : TEXTCOLOR_UNTRANSLATED, fn1, fns, fnid, length, container, hidden ? "(h)" : "");
}
-}
\ No newline at end of file
+}
diff --git a/src/common/menu/menu.cpp b/src/common/menu/menu.cpp
index deee74597..c5890080c 100644
--- a/src/common/menu/menu.cpp
+++ b/src/common/menu/menu.cpp
@@ -925,7 +925,7 @@ void M_Init (void)
catch (CVMAbortException &err)
{
err.MaybePrintMessage();
- Printf(PRINT_NONOTIFY, "%s", err.stacktrace.GetChars());
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, "%s", err.stacktrace.GetChars());
I_FatalError("Failed to initialize menus");
}
M_CreateMenus();
diff --git a/src/common/scripting/vm/vmframe.cpp b/src/common/scripting/vm/vmframe.cpp
index 69b47dfd5..a2c972820 100644
--- a/src/common/scripting/vm/vmframe.cpp
+++ b/src/common/scripting/vm/vmframe.cpp
@@ -682,7 +682,7 @@ void CVMAbortException::MaybePrintMessage()
auto m = GetMessage();
if (m != nullptr)
{
- Printf(PRINT_NONOTIFY, TEXTCOLOR_RED "%s\n", m);
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, TEXTCOLOR_RED "%s\n", m);
SetMessage("");
}
}
diff --git a/src/d_main.cpp b/src/d_main.cpp
index 12b3fb9ff..5bf8e8928 100644
--- a/src/d_main.cpp
+++ b/src/d_main.cpp
@@ -1237,7 +1237,7 @@ void D_DoomLoop ()
catch (CVMAbortException &error)
{
error.MaybePrintMessage();
- Printf(PRINT_NONOTIFY, "%s", error.stacktrace.GetChars());
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, "%s", error.stacktrace.GetChars());
D_ErrorCleanup();
}
}
diff --git a/src/g_level.cpp b/src/g_level.cpp
index 8aa011506..2fbba84f0 100644
--- a/src/g_level.cpp
+++ b/src/g_level.cpp
@@ -1385,7 +1385,7 @@ void FLevelLocals::DoLoadLevel(const FString &nextmapname, int position, bool au
{
FString mapname = nextmapname;
mapname.ToUpper();
- Printf(PRINT_NONOTIFY, "\n" TEXTCOLOR_NORMAL "%s\n\n" TEXTCOLOR_BOLD "%s - %s\n\n", console_bar, mapname.GetChars(), LevelName.GetChars());
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, "\n" TEXTCOLOR_NORMAL "%s\n\n" TEXTCOLOR_BOLD "%s - %s\n\n", console_bar, mapname.GetChars(), LevelName.GetChars());
}
// Set the sky map.
diff --git a/src/p_conversation.cpp b/src/p_conversation.cpp
index 13f54e9ab..47d9a896f 100644
--- a/src/p_conversation.cpp
+++ b/src/p_conversation.cpp
@@ -718,7 +718,7 @@ static void TerminalResponse (const char *str)
if (StatusBar != NULL)
{
- Printf(PRINT_NONOTIFY, "%s\n", str);
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, "%s\n", str);
// The message is positioned a bit above the menu choices, because
// merchants can tell you something like this but continue to show
// their dialogue screen. I think most other conversations use this
diff --git a/src/playsim/dthinker.cpp b/src/playsim/dthinker.cpp
index 37e135230..86ef7918c 100644
--- a/src/playsim/dthinker.cpp
+++ b/src/playsim/dthinker.cpp
@@ -538,7 +538,7 @@ bool FThinkerList::DoDestroyThinkers()
{
Printf("VM exception in DestroyThinkers:\n");
exception.MaybePrintMessage();
- Printf(PRINT_NONOTIFY, "%s", exception.stacktrace.GetChars());
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, "%s", exception.stacktrace.GetChars());
// forcibly delete this. Cleanup may be incomplete, though.
node->ObjectFlags |= OF_YesReallyDelete;
delete node;
@@ -546,7 +546,7 @@ bool FThinkerList::DoDestroyThinkers()
}
catch (CRecoverableError &exception)
{
- Printf(PRINT_NONOTIFY, "Error in DestroyThinkers: %s\n", exception.GetMessage());
+ Printf(PRINT_NONOTIFY | PRINT_BOLD, "Error in DestroyThinkers: %s\n", exception.GetMessage());
// forcibly delete this. Cleanup may be incomplete, though.
node->ObjectFlags |= OF_YesReallyDelete;
delete node;
diff --git a/src/playsim/p_acs.cpp b/src/playsim/p_acs.cpp
index 01def4758..9ee22264c 100644
--- a/src/playsim/p_acs.cpp
+++ b/src/playsim/p_acs.cpp
@@ -8769,7 +8769,7 @@ scriptwait:
if (type & HUDMSG_LOG)
{
int consolecolor = color >= CR_BRICK && color < NUM_TEXT_COLORS && color != CR_UNTRANSLATED ? color + 'A' : '-';
- Printf(PRINT_NONOTIFY, "\n" TEXTCOLOR_ESCAPESTR "%c%s\n%s\n%s\n", consolecolor, console_bar, work.GetChars(), console_bar);
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, "\n" TEXTCOLOR_ESCAPESTR "%c%s\n%s\n%s\n", consolecolor, console_bar, work.GetChars(), console_bar);
}
}
}
diff --git a/src/playsim/p_spec.cpp b/src/playsim/p_spec.cpp
index ab682f171..52760d935 100644
--- a/src/playsim/p_spec.cpp
+++ b/src/playsim/p_spec.cpp
@@ -622,7 +622,7 @@ void P_GiveSecret(FLevelLocals *Level, AActor *actor, bool printmessage, bool pl
C_MidPrint(nullptr, GStrings["SECRETMESSAGE"]);
if (showsecretsector && sectornum >= 0)
{
- Printf(PRINT_NONOTIFY, "Secret found in sector %d\n", sectornum);
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, "Secret found in sector %d\n", sectornum);
}
}
if (playsound) S_Sound (CHAN_AUTO, CHANF_UI, "misc/secret", 1, ATTN_NORM);
diff --git a/src/playsim/p_user.cpp b/src/playsim/p_user.cpp
index 0fa33a90e..0bc45d1f4 100644
--- a/src/playsim/p_user.cpp
+++ b/src/playsim/p_user.cpp
@@ -422,7 +422,7 @@ void player_t::SetLogText (const char *text)
if (mo && mo->CheckLocalView())
{
// Print log text to console
- Printf(PRINT_NONOTIFY, TEXTCOLOR_GOLD "%s\n", LogText[0] == '$' ? GStrings(text + 1) : text);
+ Printf(PRINT_HIGH | PRINT_NONOTIFY, TEXTCOLOR_GOLD "%s\n", LogText[0] == '$' ? GStrings(text + 1) : text);
}
}
--
2.39.3

View File

@ -0,0 +1,43 @@
From 6333e4fefb5c41971ca0d4bf97648f21b693e8f7 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sat, 7 Jan 2023 16:15:32 +0100
Subject: [PATCH 13/51] - fixed buffer size checks for raw textures.
---
src/common/textures/formats/rawpagetexture.cpp | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/common/textures/formats/rawpagetexture.cpp b/src/common/textures/formats/rawpagetexture.cpp
index 1ee29e13d..8f1a357b2 100644
--- a/src/common/textures/formats/rawpagetexture.cpp
+++ b/src/common/textures/formats/rawpagetexture.cpp
@@ -94,7 +94,7 @@ bool CheckIfRaw(FileReader & data, int desiredsize)
{
gapAtStart = false;
}
- else if (ofs >= 64000-1) // Need one byte for an empty column
+ else if (ofs >= desiredsize-1) // Need one byte for an empty column
{
return true;
}
@@ -102,7 +102,7 @@ bool CheckIfRaw(FileReader & data, int desiredsize)
{
// Ensure this column does not extend beyond the end of the patch
const uint8_t *foo2 = (const uint8_t *)foo;
- while (ofs < 64000)
+ while (ofs < desiredsize)
{
if (foo2[ofs] == 255)
{
@@ -110,7 +110,7 @@ bool CheckIfRaw(FileReader & data, int desiredsize)
}
ofs += foo2[ofs+1] + 4;
}
- if (ofs >= 64000)
+ if (ofs >= desiredsize)
{
return true;
}
--
2.39.3

View File

@ -0,0 +1,26 @@
From f729f2375fa9f18bfd3cc4fcec8523a0a8e8a325 Mon Sep 17 00:00:00 2001
From: Kevin Caccamo <kevin@ciinet.org>
Date: Wed, 11 Jan 2023 21:43:35 -0500
Subject: [PATCH 14/51] Impel people to include demo mods in bug reports
Since small demo mods are the preferred way for GZDoom developers to reproduce bugs
---
.github/ISSUE_TEMPLATE/bug_report.yml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index d50d02070..7ed0af7ce 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -82,7 +82,7 @@ body:
id: description
attributes:
label: A clear and concise description of what the bug is.
- description: Describe what happens, what software were you running? _Include screenshot if possible_
+ description: Describe what happens, what software were you running? _Include a small mod demonstrating the bug, or a screenshot if possible_
placeholder: "How & When does this occur?"
validations:
required: true
--
2.39.3

View File

@ -0,0 +1,27 @@
From f49d4b9766930fcd78975cf4f2276a9c40113c47 Mon Sep 17 00:00:00 2001
From: CandiceJoy <candice@candicejoy.com>
Date: Thu, 12 Jan 2023 03:39:56 -0600
Subject: [PATCH 15/51] Fixed a bug where static events would fail to halt
propagation.
Signed-off-by: CandiceJoy <candice@candicejoy.com>
---
src/events.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/events.cpp b/src/events.cpp
index 315b2d8b8..28caa1c38 100755
--- a/src/events.cpp
+++ b/src/events.cpp
@@ -511,7 +511,7 @@ bool EventManager::Responder(const event_t* ev)
return true; // event was processed
}
}
- if (ShouldCallStatic(false)) uiProcessorsFound = staticEventManager.Responder(ev);
+ if (ShouldCallStatic(false) && staticEventManager.Responder(ev)) return true;
return false;
}
--
2.39.3

View File

@ -0,0 +1,31 @@
From b11754ec21f7b59c27c703fad2beccabc952d945 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Fri, 13 Jan 2023 19:37:20 -0300
Subject: [PATCH 16/51] Fix MapIterator<X, String>::GetValue
---
src/common/scripting/core/maps.cpp | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/src/common/scripting/core/maps.cpp b/src/common/scripting/core/maps.cpp
index 28fda643e..68eab6d3d 100644
--- a/src/common/scripting/core/maps.cpp
+++ b/src/common/scripting/core/maps.cpp
@@ -438,10 +438,12 @@ template<typename I> void MapIteratorSetValue(I * self, expand_types_vm<typename
PARAM_SELF_STRUCT_PROLOGUE( FMapIterator_I32_Str ); \
ACTION_RETURN_INT( MapIteratorGetKey(self) ); \
} \
- DEFINE_ACTION_FUNCTION_NATIVE( FMapIterator_I32_Str , GetValue , MapIteratorGetValue< FMapIterator_I32_Str > ) \
+ DEFINE_ACTION_FUNCTION_NATIVE( FMapIterator_I32_Str , GetValue , MapIteratorGetValueString< FMapIterator_I32_Str > ) \
{ \
PARAM_SELF_STRUCT_PROLOGUE( FMapIterator_I32_Str ); \
- ACTION_RETURN_STRING( MapIteratorGetValue(self) ); \
+ FString out; \
+ MapIteratorGetValueString(self , out); \
+ ACTION_RETURN_STRING( out ); \
}
#define DEF_MAP_IT_S_S() \
--
2.39.3

View File

@ -0,0 +1,26 @@
From d279b71b79de02f684525fa660b85778f2d72e63 Mon Sep 17 00:00:00 2001
From: Sally Coolatta <tehrealsalt@gmail.com>
Date: Mon, 16 Jan 2023 22:32:59 -0500
Subject: [PATCH 17/51] Fix two different portable names
M_GetConfigPath uses GAMENAMELOWERCASE_portable.ini, but IsPortable() checks for GAMENAME_portable.ini. Doesn't have much of an impact on base GZDoom since it's case-insensitive, but can matter for engine forks -- IMO it should just be consistent either way.
---
src/common/platform/win32/i_specialpaths.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/common/platform/win32/i_specialpaths.cpp b/src/common/platform/win32/i_specialpaths.cpp
index 0b29a28c5..3bfee00ea 100644
--- a/src/common/platform/win32/i_specialpaths.cpp
+++ b/src/common/platform/win32/i_specialpaths.cpp
@@ -90,7 +90,7 @@ bool IsPortable()
}
// A portable INI means that this storage location should also be portable if the file can be written to.
- FStringf path("%s" GAMENAME "_portable.ini", progdir.GetChars());
+ FStringf path("%s" GAMENAMELOWERCASE "_portable.ini", progdir.GetChars());
if (FileExists(path))
{
file = CreateFile(path.WideString().c_str(), GENERIC_READ | GENERIC_WRITE, 0, NULL,
--
2.39.3

View File

@ -0,0 +1,40 @@
From f759dd3d5cb849f713314769c56d36f33375f969 Mon Sep 17 00:00:00 2001
From: Rachael Alexanderson <madame-rachelle@users.noreply.github.com>
Date: Tue, 17 Jan 2023 02:35:42 -0500
Subject: [PATCH 18/51] - indicate in the startup window title when GZDoom is
compiled for ARM64 Windows
---
src/common/platform/win32/i_main.cpp | 2 ++
src/common/platform/win32/i_mainwindow.cpp | 2 ++
2 files changed, 4 insertions(+)
diff --git a/src/common/platform/win32/i_main.cpp b/src/common/platform/win32/i_main.cpp
index f153a1dac..c28a3ff4b 100644
--- a/src/common/platform/win32/i_main.cpp
+++ b/src/common/platform/win32/i_main.cpp
@@ -85,6 +85,8 @@
// The main window's title.
#ifdef _M_X64
#define X64 " 64-bit"
+#elif _M_ARM64
+#define X64 " ARM-64"
#else
#define X64 ""
#endif
diff --git a/src/common/platform/win32/i_mainwindow.cpp b/src/common/platform/win32/i_mainwindow.cpp
index 3395ec430..5b246e457 100644
--- a/src/common/platform/win32/i_mainwindow.cpp
+++ b/src/common/platform/win32/i_mainwindow.cpp
@@ -17,6 +17,8 @@
#ifdef _M_X64
#define X64 " 64-bit"
+#elif _M_ARM64
+#define X64 " ARM-64"
#else
#define X64 ""
#endif
--
2.39.3

View File

@ -0,0 +1,76 @@
From 5420cc2a601b15a132bacbc245eb231a630316cc Mon Sep 17 00:00:00 2001
From: Blue Shadow <blueshadow_941@yahoo.com>
Date: Wed, 18 Jan 2023 06:59:11 +0300
Subject: [PATCH 19/51] - alt HUD: use `NewSmallFont` for drawing player's
coordinates if `ui_generic` is enabled
---
wadsrc/static/zscript/ui/statusbar/alt_hud.zs | 22 ++++++++++---------
1 file changed, 12 insertions(+), 10 deletions(-)
diff --git a/wadsrc/static/zscript/ui/statusbar/alt_hud.zs b/wadsrc/static/zscript/ui/statusbar/alt_hud.zs
index 8054e3d07..69939da27 100644
--- a/wadsrc/static/zscript/ui/statusbar/alt_hud.zs
+++ b/wadsrc/static/zscript/ui/statusbar/alt_hud.zs
@@ -718,9 +718,10 @@ class AltHud ui
//
//---------------------------------------------------------------------------
- void DrawCoordinateEntry(int xpos, int ypos, String coordstr)
+ void DrawCoordinateEntry(int xpos, int ypos, String coordstr, Font fnt = nullptr)
{
- screen.DrawText(SmallFont, hudcolor_xyco, xpos, ypos, coordstr,
+ if (fnt == nullptr) fnt = SmallFont;
+ screen.DrawText(fnt, hudcolor_xyco, xpos, ypos, coordstr,
DTA_KeepRatio, true,
DTA_VirtualWidth, hudwidth, DTA_VirtualHeight, hudheight);
}
@@ -729,7 +730,8 @@ class AltHud ui
{
Vector3 pos;
String coordstr;
- int h = SmallFont.GetHeight();
+ let fnt = generic_ui ? NewSmallFont : SmallFont;
+ int h = fnt.GetHeight();
let mo = CPlayer.mo;
if (!map_point_coordinates || !automapactive)
@@ -742,7 +744,7 @@ class AltHud ui
pos.z = Level.PointInSector(pos.xy).floorplane.ZatPoint(pos.xy);
}
- int xpos = hudwidth - SmallFont.StringWidth("X: -00000")-6;
+ int xpos = hudwidth - fnt.StringWidth("X: -00000")-6;
int ypos = 18;
if (withmapname)
@@ -761,20 +763,20 @@ class AltHud ui
ypos += 2 * hh + h;
}
- DrawCoordinateEntry(xpos, ypos, String.Format("X: %.0f", pos.X));
+ DrawCoordinateEntry(xpos, ypos, String.Format("X: %.0f", pos.X), fnt);
ypos += h;
- DrawCoordinateEntry(xpos, ypos, String.Format("Y: %.0f", pos.Y));
+ DrawCoordinateEntry(xpos, ypos, String.Format("Y: %.0f", pos.Y), fnt);
ypos += h;
- DrawCoordinateEntry(xpos, ypos, String.Format("Z: %.0f", pos.Z));
+ DrawCoordinateEntry(xpos, ypos, String.Format("Z: %.0f", pos.Z), fnt);
ypos += h;
if (hud_showangles)
{
- DrawCoordinateEntry(xpos, ypos, String.Format("Y: %.0f", Actor.Normalize180(mo.Angle)));
+ DrawCoordinateEntry(xpos, ypos, String.Format("Y: %.0f", Actor.Normalize180(mo.Angle)), fnt);
ypos += h;
- DrawCoordinateEntry(xpos, ypos, String.Format("P: %.0f", Actor.Normalize180(mo.Pitch)));
+ DrawCoordinateEntry(xpos, ypos, String.Format("P: %.0f", Actor.Normalize180(mo.Pitch)), fnt);
ypos += h;
- DrawCoordinateEntry(xpos, ypos, String.Format("R: %.0f", Actor.Normalize180(mo.Roll)));
+ DrawCoordinateEntry(xpos, ypos, String.Format("R: %.0f", Actor.Normalize180(mo.Roll)), fnt);
}
}
--
2.39.3

View File

@ -0,0 +1,502 @@
From fac072dbfe7a3d7184c0daa9ec921eae7c77b98a Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Fri, 20 Jan 2023 19:43:18 +0100
Subject: [PATCH 20/51] - new characters for Doom's SmallFont and BigFont.
This covers all somewhat relevant languages using the Latin alphabet for these two fonts.
---
.../static/filter/doom.id/fonts/bigfont/0100.lmp | Bin 0 -> 320 bytes
.../static/filter/doom.id/fonts/bigfont/010A.lmp | Bin 0 -> 310 bytes
.../static/filter/doom.id/fonts/bigfont/0112.lmp | Bin 0 -> 321 bytes
.../static/filter/doom.id/fonts/bigfont/0116.lmp | Bin 0 -> 299 bytes
.../static/filter/doom.id/fonts/bigfont/011E.lmp | Bin 0 -> 411 bytes
.../static/filter/doom.id/fonts/bigfont/0120.lmp | Bin 0 -> 371 bytes
.../static/filter/doom.id/fonts/bigfont/0122.lmp | Bin 0 -> 365 bytes
.../static/filter/doom.id/fonts/bigfont/0126.lmp | Bin 0 -> 149 bytes
.../static/filter/doom.id/fonts/bigfont/012A.lmp | Bin 0 -> 200 bytes
.../static/filter/doom.id/fonts/bigfont/0136.lmp | Bin 0 -> 347 bytes
.../static/filter/doom.id/fonts/bigfont/013B.lmp | Bin 0 -> 209 bytes
.../static/filter/doom.id/fonts/bigfont/013D.lmp | Bin 0 -> 219 bytes
.../static/filter/doom.id/fonts/bigfont/0154.lmp | Bin 0 -> 331 bytes
.../static/filter/doom.id/fonts/bigfont/016A.lmp | Bin 0 -> 350 bytes
.../static/filter/doom.id/fonts/bigfont/0172.lmp | Bin 0 -> 320 bytes
.../static/filter/doom.id/fonts/bigfont/0174.lmp | Bin 0 -> 356 bytes
.../static/filter/doom.id/fonts/bigfont/0176.lmp | Bin 0 -> 302 bytes
.../static/filter/doom.id/fonts/bigfont/1E80.lmp | Bin 0 -> 359 bytes
.../static/filter/doom.id/fonts/bigfont/1E82.lmp | Bin 0 -> 359 bytes
.../static/filter/doom.id/fonts/bigfont/1EF2.lmp | Bin 0 -> 307 bytes
.../filter/doom.id/fonts/defsmallfont/0122.png | Bin 0 -> 1162 bytes
.../filter/doom.id/fonts/defsmallfont/012E.png | Bin 0 -> 1140 bytes
.../filter/doom.id/fonts/defsmallfont/0136.png | Bin 0 -> 1164 bytes
.../filter/doom.id/fonts/defsmallfont/013B.png | Bin 0 -> 1158 bytes
.../filter/doom.id/fonts/defsmallfont/013D.png | Bin 0 -> 1152 bytes
.../filter/doom.id/fonts/defsmallfont/0172.png | Bin 0 -> 1163 bytes
.../filter/doom.id/fonts/defsmallfont/040D.png | Bin 0 -> 1178 bytes
27 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0100.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/010A.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0112.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0116.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/011E.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0120.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0122.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0126.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/012A.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0136.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/013B.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/013D.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0154.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/016A.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0172.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0174.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/0176.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E80.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E82.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/bigfont/1EF2.lmp
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0100.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0100.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..ec5879e8597a1387e674e77db87a5f14b63e9207
GIT binary patch
literal 320
zcmYL@%MHRX5JU|TzW~aSB4~pnmk<TZT1%D#r#;aGHBbU2Py$6z1SP<;!^hUMW_EXM
zSEe$?6lTM@g*|j|f-_v;3OBgJ1D;R}j9I}N7KNtuDo32&qoxy76r1#TmbABZEx5rD
zr=v2LY}-WK%PdvhLACSFy1p`3-J`sdpWg+QkX%a8C*gRY4arw|zNX!Fd8DtAsk;y)
lgczykIdYA4ERl5iHycGf+u84ZWc3&cezO0s_YdTcya5$rWuyQA
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/010A.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/010A.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..1e951e746c6b7e9d3b6d2aa9a4c73896fb94bee9
GIT binary patch
literal 310
zcmY+8(FwvZ5QeWBrAQGUT){nj^|6YDKp-?$g*<l!w{QuUa0$0?f%shr1rNU5<-h+f
zS<6O5jO;lN(7_c(c)$~0@P-e3VP1)BVF$H|InuHw2k!$ZEmqVn$55`;`@Ro>b}|j!
zfzacQP|b9Q%5J!6>9S8)X)h|q*znF-hgIx)8bxef5syAby-d!smBALj%9@kWqWDge
S!0?~LmJv%MkLb75p^<**nqFZ5
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0112.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0112.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..593e1a6d9841a459c93ae1d69769e1184d5187c0
GIT binary patch
literal 321
zcmY+9%?-jZ424}NKjP5d8G;$Oax775S*>Ih%Ecov1Vb<cLoftGut0f^C@PV@Sbp()
zRthSKXij_F2T+3xxPlwFg9mtm7kGnZMzjSxu*xl+VX;Q-R6CR*-<b6(BHZ+7vzgDh
z*f6tjr4Xq!le4Kn;ur#qNvk`HqRLMD)sAX{cLrhN4JWgR1;0FaJtso1#yog^=5G#r
cQ}21>oO_Y&S#i|hZIPv*aV;zSBhxc{05-K}xc~qF
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0116.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0116.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..a1d8302f127d2b1a79371be1e3668161142c870e
GIT binary patch
literal 299
zcmX|*%?-jZ3`SkGh##T$&NN&(mMFEXR<a7^;&WGE1$JNvhF}PG;8s2dN~9OdUz{hG
zR1r~5d)x=mfD0JG72LobJirsYz#FVHq8(Tkmd><Tq4ugh%2aI31{D!*hhN(=vv93w
z^R1Z*dX6DrJ_S)!+365urAq~G41#~63c=aJ$t=Q|M4mOhxg#R4-R0R))69SFt4pox
We9U)nuY2MgbdV@$=fJm^&-4MeZeW`L
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/011E.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/011E.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..83e4b77ca55a122cf32a433dbf6502dd6340be63
GIT binary patch
literal 411
zcmZXP?P<e642CaF-F!5KW`M4d8S?Ya#+YEy>m4QqK}N{$ERZp>MyKc!-N1e1IJA(1
z$Fkm6camP++BsLaE#Cm|aDXG6;R0Xq4L?v!oO^=}lyHC(EFN_@{cKLmDJ4Sxv{dbO
ztw>XKq{TC$Tu)2x9>}#=aUsT-QqFmA@>I3H>e6wKH@Z*L=}~=P5QV}QVw=ras5a&_
zRGS)1oiIsV!YFzf#WGSsa#tA`dO5R(TJih$u2q|{lPH5hkJ}`H*Ua-Fgkh<1dP?e>
Z<-Py6FHU4YyCk+ZooppLV|V-Qe*t??el-99
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0120.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0120.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..b1e8d26071e682cdd8bebd2a602fd467c031e3f3
GIT binary patch
literal 371
zcmYL^;cdb&5JnAZ2+$&6h7Q3BNd03sN>P*(mfZ*>OC6yrbcJrwCAtJl@H>4+onYzZ
z?3XWh&c<wwF@@RlbZ~?Z_=GR`h9CHa3tVA6G3FU|@B$td59zl0a!!pQ1WG?!rqng9
z$f4>u7LQ2zU#*^>h<fish%uhBkd7#yb!WtMs{4ZG!uu7qjpzwOn)j3rL{+*$zA?7W
z(n?OgdJ-JQ<h`pSzbth|s@V2ANu%l-@iIDEsI$(w+s(<<gR|BS&T|pXiT+jYr_J*W
G-S&UilX43H
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0122.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0122.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..7305bbc688acf44fd21f046f9efebeecad51d86d
GIT binary patch
literal 365
zcmX|+;fVq<5QU>Cw~B}jToD#=;Li*q%d*3TgvEn^9oT{`*o95lghgBdd*8(D4Sa;W
zym>R(xt+5*fWS9g;0iam!vmi1f?rt8ocn}5d_f0`MJ_eY8_pDC<QQk`oQJMgZI45}
z>brWbZi6#~5MxT|Tm>C)(lz{;K&tZ6aP}$Z?cCmq++u5(CCE8c@l-{xS=vby#raX3
zQpOS{thZcQSU%dO?@V(padsLMwagJ>O!FfD-KR<O-cN~vJ<O-}q1tP~rqvq%0Nc@T
AxBvhE
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0126.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0126.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..264532468249fa0bafb45ae571e84e1fca190c5f
GIT binary patch
literal 149
zcmY+7!3lsc5CoHtFCi`1f<;(?50RWKcjR?o5mp{IQ4kjfj@gA9LJBPtnaM(Sa*~UL
u(SNBSxn~Ff5m9zAcDF)R4S7S+;{G@;0E4K4)9%FD&bl~W_kD<wcfA47MJ<c~
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/012A.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/012A.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..760fb438a0fae1e54053582a51404362fb865eef
GIT binary patch
literal 200
zcmZXOu?@md3`7l~qRA?BX_<i_P!vlie;VW&7=j@ff|kj``w@f!OV6^-ce1zEnptBz
zdIx(r!WC|ChX*|21*>&ZlWj7GOC8$GQ&erKSvx34xg>XIJ!=GdMMTkf)-T)Rkct)`
TSufRBLf`D)4IaRk)90Z#7>hp0
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0136.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0136.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..9fb95b3fb50b2665286fdc0e948d80d333d21368
GIT binary patch
literal 347
zcmY+8!EM7Z3`G?ubsD!uGel<S2t|$(R6-yqz-ZCaUm+`Gg-p>Mx<qHl49=&O9!lUr
z@}o%qeRv68N1_DeM9$<wzR3^yC08<&{VIe5c_nY;orGuntJ#H`+ElIT1S}$HPB}{{
z^)6zTm{|Ew6j2j1Z6i-@XKBaS`8ls2faLvw7r=LSTdHEhEiO}Wxf+2eBH5QG^FKC|
zB`5!O!<12Fg2(!F!SU$v`W`5?e!1JweE?hb#CVy*8sM8pHp()!B-_y{yF<%)1Jf01
ACIA2c
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/013B.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/013B.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..8f6137574f28d2701143fbbc510ebe21ddf00894
GIT binary patch
literal 209
zcmYL>O9}!(3`868Gcw9t#uIphRt9ONAtbn}t+((H9>D#q-FmB7X+$eLNGe73X-J_1
zIg%4GawB*0AWt%r7kQJk#b2I!K(A(|BDC8*idwCu)VOy*E~-*F_BE!KHw$CGh&E5d
huT=5`u*|y+aF%>&`x+SA$Ga76b~CU9O8asN`3LyBK@<Q0
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/013D.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/013D.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..892a6b034299d578860f6eea443f021ad733fca1
GIT binary patch
literal 219
zcmYj}K?=e^3`JA0P-&0j3A{m-E`|<-e7efkD|iLBZoPtM@KW_B6l;bD$)CsXWssN?
zIg<+kxsf}0kSBSOH~A1b`aY}l?zR9hRmOQwYN)l88u#En7Bj7U*n&BI;1_I#I?gn@
cgZq_bxlFM%Ok(mUTU&R4awH`b`BOq&zjnVvpa1{>
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0154.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0154.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..80e105523b49f94e2ea0a7e7cea630d6db60fab4
GIT binary patch
literal 331
zcmY+9!41MN3`JeqB1A#-$_k9YnE@IiD~gf|^}@jmbOlym1~y;>R$vJ>DBp=Hgr(Og
zKi~fDj#?tB=!7qWD;U8I+`$7p!3(^>2doOBJve|Ps5bIflL~PV2{Cwo5lKQ9MGUiZ
zcu0c5OXnT)ET{uQZYj5z*{KDp*0flQxGZT$(ctQTcS7jd_sMTHlv)^iga!pII)ut}
s>V_u7Xst080eK;IY*A)jXfW1cKdYNgHSz`zZ;0uimU&WBr-3kh0lE@sx&QzG
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/016A.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/016A.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..195a8da668b386ab88937a2789b6a72303e5e186
GIT binary patch
literal 350
zcmY+A%?$z}5QW*S2Y;e#1NLAIo;<oHXb2<(Bp#*!d$0(LumxMN1zYgEe&DW&lYC2f
z`-V5LRE<)qR$IOr5?tU4H@L$Cp74S<Oe&>Tu!aq^P><zTT|E`CA;y#<Vpq-cuQq<`
zjG`7I=2WCWxhypzhaf((_s+P~YkQxYbLlo@ZB$xi#=08>8jH}9_vg?h4eQ|0!@0!w
r6&w*mz6;(nr?<t&nB;43U5LRMZ2eu1D2$m+`Lf1XM;`}ve-H5ipbc-F
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0172.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0172.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..0f3898b3eff49740a8ee6a359873612830f12682
GIT binary patch
literal 320
zcmZ9Hy$u2}3`WC=;=}<*#TM*ANs0(XF|r&*6s{S86<C3mmX?+k*nt&}&&Q8WSb9?Y
zlFwEau60&x5I_M3a0DlC1{ZJzH*g0J@C4P!xg}TuSL?4jH&IQJb150JbB(Ic@7fP~
zL6P-SRnBObB9)K$ObcEh>aptPd+-?An_$E2D*T0n*rv=?Ntm&i6T+riJmy4_g(4T}
gb8vnOhxJ8;ZH;{(#zY7s)?kJ1Ob<Ret01*|0mdh07XSbN
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0174.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0174.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..a25e7a36995049414008518fe9583c62aed69426
GIT binary patch
literal 356
zcmY+A?Fqs#5Qb9?Dt>^@;0mrF__u^`ggXcgrNT|%3eMmT4&e|E;SlP3rGgDS{qgjD
zbJuR&);Z_h2~PrNZ~<3v19$KMPw)b7u&bQgg9A8%2>eq2&d0A*6Eh2^)Tn;^TD2x3
zj)ABQf)L;oVz9(?^XrGYu3MPNR5hwD=BUOH1gi2-tU5O*EEaQc6jW#CaN*BI8XR`8
ziPjakzRQx$*$CWgBVsAdcn^rwA!NJf7H_jiKhZ?$+L9$_=@a-`X)=yTw#N8pd;x~s
BZ*~9x
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0176.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/0176.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..4443deed608f0593a722189f4c9f6f02e72bde0d
GIT binary patch
literal 302
zcmYL^!3}~y6huF=Dta&^p1oR&$K8<4&t^#oc>4z%um`)a3ahXSd+>lW5aK3}48zX+
zPc5~GIJw~IK>}BB19$KMPw)b7@Bv>?6(UD)0%zb#;~AYZivz_PqU)(PW?nO8S>cWk
zG4W+}zzwse389_BHWo~0v&|m9=G^rIy9Bm2X4@Uo38!VAZq&c4+QDT-3wN$anp2|9
eVVDv$re)Z)Owjo|mke=g;O2f-=n70PfA<5)qgu}Z
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E80.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E80.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..9a4901d0b73afabd28b2b6551fcc881cff727258
GIT binary patch
literal 359
zcmY+9(QU#o5QZIM3Zi}Bg%!F2EASeu$hCZxl_&z~CSV0tU<{UEi4M^X((kMywI_YC
z{O7;>&s(>3&Uts>8{rHWxWWzY@PIG)hPH8T2k)?l1AKtr=%1SXt7^(QOHOG}o&B3?
z7h}wQh;jTCB8HqoAD)gnA#`0g;c#ue`i5h@qP-76Okb+TPsEjplBJpvkEy7>n8;WY
z8;_Hgs<DaXE|^MO?afk5Y8Mt{5&bw0|90V?PFQUHGV!yB)I1Z?X&Q@^BGtizWhj&g
MYs`LQL!UMO0D`1%O8@`>
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E82.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1E82.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..c4fed22fbb6e09b0289576d8a329ade067adc48a
GIT binary patch
literal 359
zcmY+9!A%1(5JkO-At-Rjg%)Um7IIyz)nIv$wX0PkO$D?-3)GMvQUp!V1X|u$i3B4(
zOaA`zXS@r$5JC)lPJtu5!v}oA3C{2Z-|z#ET?kL`410KmxV1mE#Cx+`O3{+@Xtu-$
zvtC5XkVK}7AQ(zcL%KRzLhAc|#<5=c^=?DskdmUT)@E2YE@@FWb<s?CyLF8;*TRk2
zORg7@4Sb%9@<w3mE?S#NAQd|fA2dwU_-_~P`9Qa?UuPbxYMbjqKFm|qTD3X&u#S~d
MW%Lrao_ww47p;?UB>(^b
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1EF2.lmp b/wadsrc_extra/static/filter/doom.id/fonts/bigfont/1EF2.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..f1c3ff3dc03cb69c7356da5729a546eb8abf4c2b
GIT binary patch
literal 307
zcmYL^K@NgI3`GkJ5H%(&UAy%nE*Z(BX$C{UT^HQJV|WZt;U&C;C(vIe#7Q3cY5RXm
zLk$r*I^){{0XHy%J9vO6c!4+gfGi{0g9A8%6L5vv`#Pr@CKDyZFq*1VTaG3vO}QEs
zA7m-Pz*p6Br`mPi_e%~&;lBtP)fNqoaTq7d&1_y&>kTplueX#O!Tc{W4=5J7WhK9G
f6tSZ1@f>8`W4CxtJ-gJ0#cSucNnxQk=lY93Fz;H&
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png
new file mode 100644
index 0000000000000000000000000000000000000000..14f48f25d79dfd10510267cf35bbc387692b2de8
GIT binary patch
literal 1162
zcmd^-v8&`%6vmIPko9FBSx6BuYJ?QC5G6&5xC9Mr-jaRBeOX=>BBqEKaEidDh!7!2
z-~}0ETmnupMU)g%q!@IH6eCVC$|55S>=c6x7-WPMr<h`jS8TV(>;4;F?md@#59fC-
z_xrxOcV-?Ry>bKq$ESBr&dGk2te3A|A@S{p-@OWO1@3)t|28=a9L+J5Wm$;G^E}J4
zG)+?!C98rcF`Pg#9N3y<Dxxm&IGsKnk1t1~{cyM|ifymgrs+D4mtnXFg1P6-T(`09
ziD}llKGL*OQHHWyNK#)Eb3w>>KH<2SWkZJP(zH)e9z{76WdoQ11_182_+*Xk0@pKK
zHMpp8UgB(kP5yM89!Bx547Y<|)Av@nv&`&yYBjMrj*L;Lmw{IJYR^?NM^0=hG&{Z_
zI=Wz~ye@N!#7ZJ_I2?An-FCZe+jhNPFPF>3Vlki3r_*WEG~@BOuIs9*hQr}tFzEOD
zd7fukmLy3OMPV2QLEw3w>$<jWo2F?PhNfw%s>-t5>2yR<OfZTL-R{=+SFSg=or!5x
zx-n4oTvlUA4#bYb3kJt23@g$!N6qVETJ<KwtS*wO7nNB!NP~Xt<)NDfcH&!+Yjhpm
zw^Y|q99^#Rph%oNv=U$MI*MmXwk8@1pJqW6yWP<C0@HCd(^hm-QuPjEyl>sj%y?AF
zlT;`@wr5bW1Vn3WTb#|XEHO>d_fgkT5D?%1@C0B3umqR`GypX~3D5_~0AheHfCoS%
zBYN$2xLDwLj75QQjE;k<N?b%RWD*Qv5CEyp0YU)hzrOnxH#1z6*rYh}u+T8$FJo>W
zG21S)@#&>YJ+fhH!o+y~PTU|ihy`MZXd;S;Q0q{sFp!}q5_5J8nO8+t=4sO6xs@~k
z89)T!0LUd^W#G=jl$7EMRuz;HgmoA`{`>fSfEVDi^D~E}{@3Gs?H`GJ)y>nBTlYWz
z<F)=T$MD9r7njf4>t8>7_rtqyGCy9w@$=|ndgrHa-nskNM@QfO{^0Sa@fW{Ymlwsg
dm(G8E{jJW8?Vq1~d5b{c^!C}w5AS_^@h=+(ZxjFk
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png
new file mode 100644
index 0000000000000000000000000000000000000000..d637b362bf5cf27cbf72ae8f146a164cf6390255
GIT binary patch
literal 1140
zcmd^7zpJEH6h7f?aPxeNkbxCqVZdSv3kwSiLnQGn=3#g)>jMi3282vuVPS{?2|_G}
zFolK16c!d!SQs({AyW*jfh{bCFvS!TVll-oOfkh28}f=kPVR30j9kwB!R4IqJDl(P
z;pwgM=<<V00C;rs+4VDWzf1Oe4=>31TlDxxfD3r~`P~yl<XM_!DAP2_o8!3AXhhRA
zMNyK%3nIhv6vKk0iiRv`B8RKhebc;NEKc+JG0zXv>5wG5DB1);@B5wWt{tbftfgVp
znzm5YQkLhEl#Aj_5Hg-mIWA_|Xfz5KW<t{*MY$AZQ<Mc@0O$aCI^fG44n6MHxNWho
zu`6+1V4K}H$$1eS%ivJ>`<c7V>`iKQiP=U*6Y7gVD}6Qhl&K@9wiH`pV2nLour=OP
zI89<@aU=@N`FuVekB7ry7>3<$x7lp^zVEtjwOX}p+cZsG*Hu-`=kuZ{X0utAWoeqm
zaU6zW5Cp#OyRPdvj%8VfVd%Q9s;Z(Wk|d4CV?hvN48!wea`3#Z<93$4G|WoV3q{K$
zB@!iH7~34Lv#iXF1e#{4uFhB0bU9D!Jg%l;nFdAT&muPqoW!?c&kP-XVr!nMIJ#_W
zQkD66Y-fQPd)ma7T|=}~L6^BC^~1=S1eWU?wxb%BtQn%BjS-{M;Oy7>i&9!9eCdv+
zIu(gPw8mk;^%~0(lLS2vH4S+l0nPv~0rmhJfDWJqr~yiV89)jU0Zaf~03sRD>v+Vz
z$ELwN$0$PEMnxemA}}Nf48b4(q&fo#0PHusrvdkC>`QDDT)3F4m~yWp_7pOQ3A6X;
zjYGY#U}eBkf7>VS5nIF@F+emB1w^Pds1zt9m<q(4V_o7DVI*-hp?GU06+i+I09XL>
z30UcPG%+EixP@&6We7nX1mE1>lB9Rw>u0z2e`Ieu{C}>?`JW$=Q3*HKpWJ=>hyOeC
z;Ogq{RrsJNe|`1U)i2MVe|(Ys^Vb(2zW)$@zIn{t<=?#`>2UMp_WGw!zx@7Rnwn^!
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png
new file mode 100644
index 0000000000000000000000000000000000000000..ab1bc61c19152955ac127820f689f97edaca41ae
GIT binary patch
literal 1164
zcmd^-v8(G;9LIlhhg@#BbjT1iV3dFzqC^RjAw#&Pmv~>~=DwGw0fR&cSS3S-2oW*_
z3|OQ?h9X5WWatni+*dF|hoT)GTBKlyf&~jkcw&VP9o}%=exCRK4G-u14(I&%eSU}Y
z{eFFOZJeLIbOr$DSMT;7ko}abv(pn2e|+)yJ-`Xvy!Y^u9C?;zJCtdfh{$mq!!R^W
zQxqjBydZX1p6ak*siGkZn#kd7c30O=CzHc?ywCG?FxVx@CW=-;u=M?f>&_jgv8<_K
zRGKzX)k2oXl9Y?$P!KYnPdP4T*@$6+PNz@P9!0qnWmA*|U;yX<cxds-26s!`%yHe|
zvcg4y^AR@LU7Z{!(Y^@Uk-r_f>&#xI)*>;R$f!eo5@?05=AJTe<kXg8OAL&zrwg{m
zn+m5%tSmC3&^aED`~ALc+ud%r*=$y;)pEI9EEcobtZACMuB)ml%W^y(k4B^6aF}IT
znx=6ahhZ25f$#gS>pG5OS(afKx~{9Lswj#iN!@N&5QG@R@YwISp0{?~g=J3-v()sF
zqGgg2iIOjLZI0JjR_-tYO|#UZ%4g+ZI!>!RE(c+e2BX9uMs5~3iEqW889I93);v>j
zblKLVGV}A;&H^*`w7xC7hG?mRE^|rhhmq3{EY~+|M>Q;2Gekw}B1VUuvz_aY3u&70
zh06?dDiVQcjk_Jr=U5b&B<OjlX~^>ka0GY)umxBFEC3pS3ZMWO0;B*DKp(&bAd(Ti
z_Iq3|v92-CF^bT(QBjDC2!>38Aq)Z_)fqqlU_a}7*x`1L%L1DOCobkHrrgtrJ%pXM
z-`RTf%Ap=xFf(APKYu4~5gWuDF+emB1w^PcC>0n<Fc642ySl_F0wZxWY4O}jDu4ta
z0I&e$60p>9Z(>49aSiJdiV%V-2!8$R{2ssy@cDylo235N<5vA!BwwXo^)4QM@%tOA
z`)BaVY473({OsO$|Li}yegDIouP)Djdi&>>-~8a!Zz=YZ*Z%mkr(FE<?_1ljJ-ySv
a`R(MOy#DC^r?+<m16P;Vy+`kS{N;aV4RQYf
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png
new file mode 100644
index 0000000000000000000000000000000000000000..f441d09a5fd26b62561c43424e14d19ea20c006b
GIT binary patch
literal 1158
zcmd^-!K>U<6vj`jklOe<i!1_0NF|FA0)`SKLKd;+)%c9Ql%|kH77;=jFpDfwh!7!Q
z7K4nE#ViJl8etZJjyj7hW-&s*E+Py#mJtSwFi49-nZ+!+c;M!E?Z4sW-gCM4aDL}<
zzwh(g=f=s^SFQrU$=Q3ScgTK)te37_Ch@H=zj+nlGTi>)?k#fUS(@!prfDJ~$8ik9
z&@@d^l%(*2*kgIB$AYDbhAe0zhl|C<Z1!wAJxnJ1Jl_q6U6O2~XcYvl?>DZybe!6<
z=7v#e+Ei5wS)NEzE{Y>T$ap^GxR_-lh6#GT0Zn@p<x-SQQ5Jv!pabAxhmSYdwYXX0
zy2iG`roiPG>+E8d9H-H~2zFzCJ95{Vy-KYnG3&^fh59tm3SZ4VW$4JMEyb1?7=2F{
zY>hV+PLo(!WJIBNJRbM^{cgAGx^A=CtX8YGZJVZ9EEaWL&t|i#s>-sQOeW*;cr+Si
zS(c`09LHf820`HazU#V<<5-qu7>2Ivs;VlAB1uxe-xmZS#xOh%20PDNJ8omybHgk(
zeXMAiq(q|R3w@j8b(WQTj6l;Y)l~VS9L^_cmB-~UEYe_{_@l_p0w?jU*fT>%AK02_
zDvmDOnp9?f9@|-9#-28?W!DfbRnTQFN&PT#27%@JhV7_^C2NMLXnn-!&^g<s{;-hd
z317I(P^Tghh}PJ3xLjgUV3MHcp{60vBft^hF~AmJ1<(N002M$1Fak&cB7gya3qT|z
zdhPevwm6$%o?{fDZKI+P7ZD7Z1Vb1EK&mr<0KopQ@1eu(659gn1g9?MDyH1Ch&_b8
z-JrMi=#@h~v|wStTz~#f+#=S9IbwilAPR_3X;3OKmS89lbM|$KQv^ohXwu@jl~e!;
zKmcF?$R%K@<KD!Cl;RrJB@`h9RS^98<m7#TOK|_rxlL04>+ys7w@AL~&9l>+cR%^#
z-WNBn!S$D4_zRmyU;X~ZryqX&=TA?szxc~<Z{PU#$v^ilu08nr-S6!C`h%ZE`uOP5
Y&FVGk`{MPd1OR8Z&QE`Q=cCX51=ZSc1^@s6
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png
new file mode 100644
index 0000000000000000000000000000000000000000..96045927b9d5a299400298521ec53fd0ef0958b3
GIT binary patch
literal 1152
zcmd^7F{`9j6h6rYd|7!|SV&@FK$0meEG#T6%*MBv7sGQ|7c49c2s?!V3j+o$Tw*}N
z1Pn|ug@wfw7LrUJ7E?@Nv5+YyWQr+fSr?|*kSQiG#X`0ToZQ{Nk<0n+<=(^j&f$LF
z4-an4%ex=m1%S)z&#xYm^MZi7xI^}Li+{fcxC0Nqd~}~&1&-zz%Cam(<awTDS(>IP
zijq}9lo(E+7!GVrG8Ivmcw8=Dx9zL>{4|>#%koeZLz?d5coT-}Am}}B<+`11FHE!1
z^|_{1iZYYsQj#X3m<vM2^9jerEE_V+n5KP-@+iuoC>y{8FaYp$z?VB5*0@{Yw!?LU
zeTAzjcKPczJ<sD~6&|L+e&TI&XOr1|YIU*MM#enUt3WG#wQ!ZpkrP`A&5>`2jxJa#
zugjbwv69G~&*$UucsLw}Vc6|<o6TmuUiW>!TrRt=YumPIn!2uMv)ObyolGWqo@ZH>
zBuNxSVHgHM;CY_wy0&ebrfC?4rfI6G%CbBfjYLsQFpAFO@xk}EuGibn!nA7Ln5ud%
ztFa^p;>h6zgX0v26=|BI`lejg#bTB<Wl|SWm4(wZn8aQlx@ll1z7@H~*wKAUbq&SQ
z<vI__#K}V|@%6Ezc&21)qM`6<7DTZ-4s9<m9al4LMK>i?A0fu4!QHQnr<J@&h00?K
zgNh{}TH`R_YK2vWX^Os&x{iW?0B3-g0DFK9Ko8IXGyoOA1Rw*50mc9x0FjL7bv)vF
zjcto%iE)gMgQ`kgL}*A58p1&cNOcYn0yuB_o(9~na9v@S;@rbh!;F6wbEk+ojG4Vp
zZ(QoB4NDUi#@jh@kJurWh#{hhC?Z0mL#@J8hC(Ff92qjNimc4jq{Uk+X#g^S2*3f5
zN5I;^qlGCc#Vu@Ws3HiPF#O}s%P#=lfo~q(I3)GIUO#JpN#v{K>#KW@zI`4%W8VAm
z)8Bv1HlKVHNI%`a!TY~GV;=wgg5de>2N(Y+PrkngP~3hTJ$~U5+W=hOzq$J5v#-AU
E5Bp+lwg3PC
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png
new file mode 100644
index 0000000000000000000000000000000000000000..411693d82027f226fdd98706121a6d056f37e040
GIT binary patch
literal 1163
zcmd^-!K>p`6vmH^ka1$kB8z}gB1Ei^MT8)c$s)X$_lVEP%P<*?kVV7@1+&N^N`x!|
zW>KU_gbq{*l0_F;l(CBlT~w?xi;9IQSg>G_E=KI4V1>6BMC5p#f5XeY=W_4i{LbZm
z-zT>&&CZQyZva5&;`OuJWWP?<)7P(&_}ZsmJ_m3OZoPTuoE!y?<`~MdEJWmao@H5@
zrYVY&RY8;(PM{bLY)vv1QI~j}%^poASL5+vG};%%uHSFdbQ8y`FkA+~!t>^?+t~Kh
zG;3WSYg(x&BUvsaX&{QZAY?qBa9qr?A;a`&+NUUwq8y5{0Zae`01rESxWRUbn>nr<
zT-LZKaX!Q*e>6#t<9J_&yJ4^$c<bC*W%eSqn%JB~#yHf=Kr4K;?<$!iC$<!tUEdHL
zU9ePMmpMgZC6PHEkNf?8x7)RCyV-13tJQM3Tr3u|*{o@r$z)R3byZcP(P%gv4hDlf
z&$BE`k|c_vFbsnr@I23TUE8)z(=-f2(==68Wm)cayP_y27)8fkZ|D1K*IU@m)U+zy
z7^-?MtFa^pV%OmXgX0v26=|BI7IiVJ`qNQX7fIER$}AkF!65eX&`kq7@vX=;dXDZ}
zs%t2YE?0R_Bu*Y$iLdt@#WN*a6Agt=vmlDyUTAxP>A0F{E4nGEdKWQ1wC;9p+%M&6
zDwH1EH>g+wqBXWH&gWQ`n5O9asOu;Q2yg^=2(SfM0W1I-fEu6#7yx7dF+dN%10a$S
zz4m)tE^#u!qQE#t$3aykE+QB*35GBTfK=xIA%OE=-$RSrIW9|VQXG3&XqfR=F?WcV
zU60xN^vb2~+b}a>YCL`?ZV?;A0x?815k*9(b*NMr%Fq{yIlG3;t0F7&G->hJN*aI+
zAOdgz<PxwlaBpEsN^uSA3d#t=It(BD)_DWq3Hadlr9)Ex>v2!}T_Rs~^WyB}&PTtz
z`os5~?_PN3sT2SFkLO?M{?*(&x%-|!?tJ?s^Y-8Ga(An%arof<)31Mh`Ncnf{N}Tt
d{yF{P=I3pf{qX0P-XavZIKMpm>hztD{{`a~asU7T
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png
new file mode 100644
index 0000000000000000000000000000000000000000..5cd59fa7c3835f3f0db5b661c089afc0a32f32c1
GIT binary patch
literal 1178
zcmd^7L963b6h1PGJYIMNsTjsAB4nhC2w4OP7$Gy}J>xTvm&arv3_&7hkwwJ7M94tE
zfLRnNnni^!GLS_VSrjc8q+r1=#z&N*U35{fV!;uMyhRtY7<b3}=5Kho_kP@SIN!P4
z@B94X+&DUX<q!alPTxJgOYnf~!-E^-{Nd*Q+v`N|;Le8xuj2;y-CMsCfQz$xC*;nv
zG|Nz?X(A%Wah*<wrfG_zB!w45hUF=S1xpnTS<pldr_*QS@zc@hYB<~##kSYmr0FV-
z7h%}?{@itEj?-Ay#4u`28>wn3%R@;jM6oXjInQStm#}Qy>4Xdu(6mQUE=AcCWdRrf
zIsjg6@yQA|Ev{y`Y_P3yUgB(kP5x}0?nm*i47US+-FKI{y~wP2YBsSkj`UHemA+bd
zO3#rqTS_c3G`gNH*cxvtoF=id*bxP0zu)h6yX|(n*=$y;)nc(|+jc&mPp8wSX~yGm
zUDs7r4Tr<QV9@XP^E}V8EJ>0mio!7TecyFm$8jvnG7Ll4byZarMUf<_+wBU1kYE(;
zgJA1<OUIpC_QWtNO&=&)E-A4n`9jy`c%5ZsrX$caOU>(ITJ<KwtS*wO7nNB!Nd127
z=Ao1NR^pkFqX)L;nTn&!wkB1%UnF)Onu(_cw(J_Br3$*trI{baP7qqIZ`h7%Sh8k_
ziq=JpuQtwlravyFNy?XQr>9e~2t;e#Y;ZQivcxn+&qGZ^o=1Q^z!QKqzye?n&;Zl`
zB|sk_1Bd|v02hErM)cb4ux)WX#-hMDM%zY3Aub{`WDy#|K?q294iEy^*K@BnxSnBK
zVw2*?#X`l5dm6J>5wi`LwMQ=;>ahh=119?Ocj6kcK`anML<3Pkgj$12fq?`)fta(a
zOPnHfB#tH{o?A%;kN^Y#7JwuHD;;+xrlb{@u&khrAgsgi*T0V519$;GxqEJt(*HWX
zR{s{sSG{q1eCOW7-(LIa=NIACgUgFgPyTuT{_ECPkN)`a)<y8e<?WZ4vv=P7_v7OS
kfBMcZ_s=h>M<1PipWnK9)T&>;ObFog<ox)Xw?FvoKSE}3#sB~S
literal 0
HcmV?d00001
--
2.39.3

View File

@ -0,0 +1,74 @@
From 4551241900a45b6984127346c4163ed7f54bd63f Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Fri, 20 Jan 2023 21:03:21 +0100
Subject: [PATCH 21/51] - 4 non-letter characters for Chex.
---
.../filter/game-chex/fonts/defsmallfont/2012.lmp | Bin 0 -> 104 bytes
.../filter/game-chex/fonts/defsmallfont/2012.png | Bin 0 -> 897 bytes
.../filter/game-chex/fonts/defsmallfont/2013.lmp | Bin 0 -> 116 bytes
.../filter/game-chex/fonts/defsmallfont/2026.lmp | Bin 0 -> 128 bytes
4 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.lmp
create mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png
create mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2013.lmp
create mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2026.lmp
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.lmp b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..c9b6cf5af5440c069fc7fd70d22da78d2a2c56a8
GIT binary patch
literal 104
vcmd;JU}j)o`1fA}NE!gK1rR#`u?G+b0C5BmCjc=6b1ew`2hoKj(ja{R!ciZ2
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png
new file mode 100644
index 0000000000000000000000000000000000000000..4ffc36ccaceed43e8d9aa10ace07100e8e8eac9b
GIT binary patch
literal 897
zcmW+!F{q?w5T4`;UrrttLJYC6u-L-F5DN<nx$_;~i{U)tfg~1&SXfw?#6pM!AtqVE
z78YA9cLoe>VL-?h7F#UD;tGp}Y_Y{cEVj6WEw<R=it94@-@!ls!1poV%rM_CPoJ3A
z_dmQ30N1yVZ$2aWip0IEd*pxq{-5970pYg~z9JbA@jnT^X9*8aKYjLyKmtc|3}sms
z;dq{BS(c`0ilSsy5G95aD24-DlT1a_B_7x7H*NcRxjZixr?Nawr(>4wlVlr3LlE?y
zw{hLhwpXUv==xIADn(hyaw$nOQ7i-@=lPW55|)h^CZuVfqCARnD9Q#f0Sq$V`G~Lf
zI1aeq;I6}=!M?)H9J}I8n_ZU4sfv#C;4t%cg|p4=KC`;SY-3{?=~bYWzB+Z4+>ujT
zip+^`h>k8;DzD3&BC(RlTrQW>>2y3E$8p^6_uK7u7>2&@*XwoHb#2==O;gwPVzHRd
z=d;<YD2hDK(=?6aIEtbm2t3boUDvj4(=-jk&@@d|RaurNlZhybDaP?743ECQbG_bn
zR;E?!#$444SxqE45GM{V7#ycCtVq)w)i>q3o~{;oQ>OJauJUM}1+&B}A~y@{)VE^S
z2p!$GRM$`(U9O9uOr0XKQeO`p#WN*a6AgvW@*qy!FtWYCbX?7}72T9neS(;rNB6KX
zURLrd6Dp6L8dM_P`2fceHyf-f%rf+S)O8dD1h@da0yqF{0eXNApaG}=W&k-r0uTat
z0OVxkUZ)cd1GX)eB_;_v4yr0~5s@K}$Pf)8K&lIX2*A1Pdmizy!J)z~!=;C%hB^N_
z;m$F044H#ZZ(Zu84Qmrt#@jjZfY>3Hh!LWRC?Z0mL#@JGhN(!*IWc5j6<L|5NsG5u
z(g0)t5r6|AAYg6a$-<13;tqB-R53(N6#ezj^(TaW@9W2(lg()MF5ZC`zkWbK_V(t%
ov#aO9??1i!^WP6Yf{%X#cu~;beDUv(L>S=q(UY4$9)9`5|D%0m`Tzg`
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2013.lmp b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2013.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..b3bf1609d834f80fd5163627ee672735563d6ba4
GIT binary patch
literal 116
ycmd;NU}j)o`1fB2NSXk#4G_Bku@4Z30C5ZurvPyd5Hm2>g1~<eT}UPk(hmRyXCrL@
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2026.lmp b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2026.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..c3a5a81984d743b3598121a24e6cb2c742d061c7
GIT binary patch
literal 128
zcmd;LU}j)o`19WYNLm1~0}y)vaR3lU0C55kX8>^l5LW;(19L41{0GscP`VgOlOqlQ
DdNL=O
literal 0
HcmV?d00001
--
2.39.3

View File

@ -0,0 +1,28 @@
From a68f62ba53f654033c00f0478db7d30aa3856d53 Mon Sep 17 00:00:00 2001
From: Boondorl <59555366+Boondorl@users.noreply.github.com>
Date: Fri, 20 Jan 2023 16:09:20 -0500
Subject: [PATCH 22/51] Fixed global TerrainDef array not being exported
correctly
---
src/scripting/thingdef_data.cpp | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/src/scripting/thingdef_data.cpp b/src/scripting/thingdef_data.cpp
index 890637a37..acc039c5a 100644
--- a/src/scripting/thingdef_data.cpp
+++ b/src/scripting/thingdef_data.cpp
@@ -720,6 +720,10 @@ void InitThingdef()
teamstruct->Size = sizeof(FTeam);
teamstruct->Align = alignof(FTeam);
+ auto terraindefstruct = NewStruct("TerrainDef", nullptr, true);
+ terraindefstruct->Size = sizeof(FTerrainDef);
+ terraindefstruct->Align = alignof(FTerrainDef);
+
PStruct *pstruct = NewStruct("PlayerInfo", nullptr, true);
pstruct->Size = sizeof(player_t);
pstruct->Align = alignof(player_t);
--
2.39.3

View File

@ -0,0 +1,340 @@
From 0489ca2af443075419606ce3b0c8cd460d1feacb Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Fri, 20 Jan 2023 23:23:50 +0100
Subject: [PATCH 23/51] - convert characters to Doom patch format.
---
.../filter/doom.id/fonts/defsmallfont/0122.lmp | Bin 0 -> 136 bytes
.../filter/doom.id/fonts/defsmallfont/0122.png | Bin 1162 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/012E.lmp | Bin 0 -> 90 bytes
.../filter/doom.id/fonts/defsmallfont/012E.png | Bin 1140 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/0136.lmp | Bin 0 -> 149 bytes
.../filter/doom.id/fonts/defsmallfont/0136.png | Bin 1164 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/013B.lmp | Bin 0 -> 125 bytes
.../filter/doom.id/fonts/defsmallfont/013B.png | Bin 1158 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/013D.lmp | Bin 0 -> 131 bytes
.../filter/doom.id/fonts/defsmallfont/013D.png | Bin 1152 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/0172.lmp | Bin 0 -> 142 bytes
.../filter/doom.id/fonts/defsmallfont/0172.png | Bin 1163 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/040D.lmp | Bin 137 -> 146 bytes
.../filter/doom.id/fonts/defsmallfont/040D.png | Bin 1178 -> 0 bytes
.../filter/doom.id/fonts/defsmallfont/0419.lmp | Bin 138 -> 152 bytes
.../game-chex/fonts/defsmallfont/0400.lmp | Bin 0 -> 142 bytes
.../game-chex/fonts/defsmallfont/2012.png | Bin 897 -> 0 bytes
17 files changed, 0 insertions(+), 0 deletions(-)
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png
create mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.lmp
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png
delete mode 100644 wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png
create mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0400.lmp
delete mode 100644 wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..057c1ef0f7ca1076f83eb9ec90081a02999dbcef
GIT binary patch
literal 136
zcmXYn(FuSs3`C<Mwww4Dzg@ryoWKPfz^Ot?iVhbqr3Vi#_mU`6WCa`8!2wQifg3zv
qoH*jc%xw0eQ9@HK7BgjLtzR{63YTCO)&3~3r9Cd8RG^*Ed;AB!!X=;p
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0122.png
deleted file mode 100644
index 14f48f25d79dfd10510267cf35bbc387692b2de8..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1162
zcmd^-v8&`%6vmIPko9FBSx6BuYJ?QC5G6&5xC9Mr-jaRBeOX=>BBqEKaEidDh!7!2
z-~}0ETmnupMU)g%q!@IH6eCVC$|55S>=c6x7-WPMr<h`jS8TV(>;4;F?md@#59fC-
z_xrxOcV-?Ry>bKq$ESBr&dGk2te3A|A@S{p-@OWO1@3)t|28=a9L+J5Wm$;G^E}J4
zG)+?!C98rcF`Pg#9N3y<Dxxm&IGsKnk1t1~{cyM|ifymgrs+D4mtnXFg1P6-T(`09
ziD}llKGL*OQHHWyNK#)Eb3w>>KH<2SWkZJP(zH)e9z{76WdoQ11_182_+*Xk0@pKK
zHMpp8UgB(kP5yM89!Bx547Y<|)Av@nv&`&yYBjMrj*L;Lmw{IJYR^?NM^0=hG&{Z_
zI=Wz~ye@N!#7ZJ_I2?An-FCZe+jhNPFPF>3Vlki3r_*WEG~@BOuIs9*hQr}tFzEOD
zd7fukmLy3OMPV2QLEw3w>$<jWo2F?PhNfw%s>-t5>2yR<OfZTL-R{=+SFSg=or!5x
zx-n4oTvlUA4#bYb3kJt23@g$!N6qVETJ<KwtS*wO7nNB!NP~Xt<)NDfcH&!+Yjhpm
zw^Y|q99^#Rph%oNv=U$MI*MmXwk8@1pJqW6yWP<C0@HCd(^hm-QuPjEyl>sj%y?AF
zlT;`@wr5bW1Vn3WTb#|XEHO>d_fgkT5D?%1@C0B3umqR`GypX~3D5_~0AheHfCoS%
zBYN$2xLDwLj75QQjE;k<N?b%RWD*Qv5CEyp0YU)hzrOnxH#1z6*rYh}u+T8$FJo>W
zG21S)@#&>YJ+fhH!o+y~PTU|ihy`MZXd;S;Q0q{sFp!}q5_5J8nO8+t=4sO6xs@~k
z89)T!0LUd^W#G=jl$7EMRuz;HgmoA`{`>fSfEVDi^D~E}{@3Gs?H`GJ)y>nBTlYWz
z<F)=T$MD9r7njf4>t8>7_rtqyGCy9w@$=|ndgrHa-nskNM@QfO{^0Sa@fW{Ymlwsg
dm(G8E{jJW8?Vq1~d5b{c^!C}w5AS_^@h=+(ZxjFk
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..c4a7effd7e58b66089b904ced7d69a60789ee5ea
GIT binary patch
literal 90
zcmZQ&;A8*+86egGVlyCi0pcJaW?<Kcf&UDg`uf|!04N0JZQQhZ(`NncP##3#E+CJM
I8O;6<0L!@*xc~qF
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/012E.png
deleted file mode 100644
index d637b362bf5cf27cbf72ae8f146a164cf6390255..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1140
zcmd^7zpJEH6h7f?aPxeNkbxCqVZdSv3kwSiLnQGn=3#g)>jMi3282vuVPS{?2|_G}
zFolK16c!d!SQs({AyW*jfh{bCFvS!TVll-oOfkh28}f=kPVR30j9kwB!R4IqJDl(P
z;pwgM=<<V00C;rs+4VDWzf1Oe4=>31TlDxxfD3r~`P~yl<XM_!DAP2_o8!3AXhhRA
zMNyK%3nIhv6vKk0iiRv`B8RKhebc;NEKc+JG0zXv>5wG5DB1);@B5wWt{tbftfgVp
znzm5YQkLhEl#Aj_5Hg-mIWA_|Xfz5KW<t{*MY$AZQ<Mc@0O$aCI^fG44n6MHxNWho
zu`6+1V4K}H$$1eS%ivJ>`<c7V>`iKQiP=U*6Y7gVD}6Qhl&K@9wiH`pV2nLour=OP
zI89<@aU=@N`FuVekB7ry7>3<$x7lp^zVEtjwOX}p+cZsG*Hu-`=kuZ{X0utAWoeqm
zaU6zW5Cp#OyRPdvj%8VfVd%Q9s;Z(Wk|d4CV?hvN48!wea`3#Z<93$4G|WoV3q{K$
zB@!iH7~34Lv#iXF1e#{4uFhB0bU9D!Jg%l;nFdAT&muPqoW!?c&kP-XVr!nMIJ#_W
zQkD66Y-fQPd)ma7T|=}~L6^BC^~1=S1eWU?wxb%BtQn%BjS-{M;Oy7>i&9!9eCdv+
zIu(gPw8mk;^%~0(lLS2vH4S+l0nPv~0rmhJfDWJqr~yiV89)jU0Zaf~03sRD>v+Vz
z$ELwN$0$PEMnxemA}}Nf48b4(q&fo#0PHusrvdkC>`QDDT)3F4m~yWp_7pOQ3A6X;
zjYGY#U}eBkf7>VS5nIF@F+emB1w^Pds1zt9m<q(4V_o7DVI*-hp?GU06+i+I09XL>
z30UcPG%+EixP@&6We7nX1mE1>lB9Rw>u0z2e`Ieu{C}>?`JW$=Q3*HKpWJ=>hyOeC
z;Ogq{RrsJNe|`1U)i2MVe|(Ys^Vb(2zW)$@zIn{t<=?#`>2UMp_WGw!zx@7Rnwn^!
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..ae3589e31da1cd1f373d95e5d85c5ba07e151391
GIT binary patch
literal 149
zcmXww-4Q@Q420uvaFux57X_$52P#m34z%OkU^ExIjGg(C>?Ua}nADM;3}hq|naM&{
wVl{rb=2HUPT3|~t?%KKqwWM;>W?aT}F=6zbUfAj73g7@rHvYQhN~^c}0~$Rg>i_@%
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0136.png
deleted file mode 100644
index ab1bc61c19152955ac127820f689f97edaca41ae..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1164
zcmd^-v8(G;9LIlhhg@#BbjT1iV3dFzqC^RjAw#&Pmv~>~=DwGw0fR&cSS3S-2oW*_
z3|OQ?h9X5WWatni+*dF|hoT)GTBKlyf&~jkcw&VP9o}%=exCRK4G-u14(I&%eSU}Y
z{eFFOZJeLIbOr$DSMT;7ko}abv(pn2e|+)yJ-`Xvy!Y^u9C?;zJCtdfh{$mq!!R^W
zQxqjBydZX1p6ak*siGkZn#kd7c30O=CzHc?ywCG?FxVx@CW=-;u=M?f>&_jgv8<_K
zRGKzX)k2oXl9Y?$P!KYnPdP4T*@$6+PNz@P9!0qnWmA*|U;yX<cxds-26s!`%yHe|
zvcg4y^AR@LU7Z{!(Y^@Uk-r_f>&#xI)*>;R$f!eo5@?05=AJTe<kXg8OAL&zrwg{m
zn+m5%tSmC3&^aED`~ALc+ud%r*=$y;)pEI9EEcobtZACMuB)ml%W^y(k4B^6aF}IT
znx=6ahhZ25f$#gS>pG5OS(afKx~{9Lswj#iN!@N&5QG@R@YwISp0{?~g=J3-v()sF
zqGgg2iIOjLZI0JjR_-tYO|#UZ%4g+ZI!>!RE(c+e2BX9uMs5~3iEqW889I93);v>j
zblKLVGV}A;&H^*`w7xC7hG?mRE^|rhhmq3{EY~+|M>Q;2Gekw}B1VUuvz_aY3u&70
zh06?dDiVQcjk_Jr=U5b&B<OjlX~^>ka0GY)umxBFEC3pS3ZMWO0;B*DKp(&bAd(Ti
z_Iq3|v92-CF^bT(QBjDC2!>38Aq)Z_)fqqlU_a}7*x`1L%L1DOCobkHrrgtrJ%pXM
z-`RTf%Ap=xFf(APKYu4~5gWuDF+emB1w^PcC>0n<Fc642ySl_F0wZxWY4O}jDu4ta
z0I&e$60p>9Z(>49aSiJdiV%V-2!8$R{2ssy@cDylo235N<5vA!BwwXo^)4QM@%tOA
z`)BaVY473({OsO$|Li}yegDIouP)Djdi&>>-~8a!Zz=YZ*Z%mkr(FE<?_1ljJ-ySv
a`R(MOy#DC^r?+<m16P;Vy+`kS{N;aV4RQYf
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..eb90e106962d0f94df305c87f0acacea2b82a637
GIT binary patch
literal 125
zcmXZSu?>JQ3<N++1V}ca`+@;jfC;E+Q?eLIB*Sv%9bxI@xBO9(_$;*2MmrsJQl^V!
n!apW6P*wE>Od@c%)|5|^)GJSczrqNVT0I3OFNC3ozWx3H*SQ~f
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013B.png
deleted file mode 100644
index f441d09a5fd26b62561c43424e14d19ea20c006b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1158
zcmd^-!K>U<6vj`jklOe<i!1_0NF|FA0)`SKLKd;+)%c9Ql%|kH77;=jFpDfwh!7!Q
z7K4nE#ViJl8etZJjyj7hW-&s*E+Py#mJtSwFi49-nZ+!+c;M!E?Z4sW-gCM4aDL}<
zzwh(g=f=s^SFQrU$=Q3ScgTK)te37_Ch@H=zj+nlGTi>)?k#fUS(@!prfDJ~$8ik9
z&@@d^l%(*2*kgIB$AYDbhAe0zhl|C<Z1!wAJxnJ1Jl_q6U6O2~XcYvl?>DZybe!6<
z=7v#e+Ei5wS)NEzE{Y>T$ap^GxR_-lh6#GT0Zn@p<x-SQQ5Jv!pabAxhmSYdwYXX0
zy2iG`roiPG>+E8d9H-H~2zFzCJ95{Vy-KYnG3&^fh59tm3SZ4VW$4JMEyb1?7=2F{
zY>hV+PLo(!WJIBNJRbM^{cgAGx^A=CtX8YGZJVZ9EEaWL&t|i#s>-sQOeW*;cr+Si
zS(c`09LHf820`HazU#V<<5-qu7>2Ivs;VlAB1uxe-xmZS#xOh%20PDNJ8omybHgk(
zeXMAiq(q|R3w@j8b(WQTj6l;Y)l~VS9L^_cmB-~UEYe_{_@l_p0w?jU*fT>%AK02_
zDvmDOnp9?f9@|-9#-28?W!DfbRnTQFN&PT#27%@JhV7_^C2NMLXnn-!&^g<s{;-hd
z317I(P^Tghh}PJ3xLjgUV3MHcp{60vBft^hF~AmJ1<(N002M$1Fak&cB7gya3qT|z
zdhPevwm6$%o?{fDZKI+P7ZD7Z1Vb1EK&mr<0KopQ@1eu(659gn1g9?MDyH1Ch&_b8
z-JrMi=#@h~v|wStTz~#f+#=S9IbwilAPR_3X;3OKmS89lbM|$KQv^ohXwu@jl~e!;
zKmcF?$R%K@<KD!Cl;RrJB@`h9RS^98<m7#TOK|_rxlL04>+ys7w@AL~&9l>+cR%^#
z-WNBn!S$D4_zRmyU;X~ZryqX&=TA?szxc~<Z{PU#$v^ilu08nr-S6!C`h%ZE`uOP5
Y&FVGk`{MPd1OR8Z&QE`Q=cCX51=ZSc1^@s6
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..17fccdc69b5cec2749fd6a8b92b56c786df67da0
GIT binary patch
literal 131
zcmd;JU}pdU4InlKVtXL=2I6oajtAmwAT9@D1~z>t_|L$uufJu-jvc%7^}*~-TeoiA
f0c8W#?A#1wvoP!HgJ_Ui5P-3_ZbGmjGW!1kYU3aE
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/013D.png
deleted file mode 100644
index 96045927b9d5a299400298521ec53fd0ef0958b3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1152
zcmd^7F{`9j6h6rYd|7!|SV&@FK$0meEG#T6%*MBv7sGQ|7c49c2s?!V3j+o$Tw*}N
z1Pn|ug@wfw7LrUJ7E?@Nv5+YyWQr+fSr?|*kSQiG#X`0ToZQ{Nk<0n+<=(^j&f$LF
z4-an4%ex=m1%S)z&#xYm^MZi7xI^}Li+{fcxC0Nqd~}~&1&-zz%Cam(<awTDS(>IP
zijq}9lo(E+7!GVrG8Ivmcw8=Dx9zL>{4|>#%koeZLz?d5coT-}Am}}B<+`11FHE!1
z^|_{1iZYYsQj#X3m<vM2^9jerEE_V+n5KP-@+iuoC>y{8FaYp$z?VB5*0@{Yw!?LU
zeTAzjcKPczJ<sD~6&|L+e&TI&XOr1|YIU*MM#enUt3WG#wQ!ZpkrP`A&5>`2jxJa#
zugjbwv69G~&*$UucsLw}Vc6|<o6TmuUiW>!TrRt=YumPIn!2uMv)ObyolGWqo@ZH>
zBuNxSVHgHM;CY_wy0&ebrfC?4rfI6G%CbBfjYLsQFpAFO@xk}EuGibn!nA7Ln5ud%
ztFa^p;>h6zgX0v26=|BI`lejg#bTB<Wl|SWm4(wZn8aQlx@ll1z7@H~*wKAUbq&SQ
z<vI__#K}V|@%6Ezc&21)qM`6<7DTZ-4s9<m9al4LMK>i?A0fu4!QHQnr<J@&h00?K
zgNh{}TH`R_YK2vWX^Os&x{iW?0B3-g0DFK9Ko8IXGyoOA1Rw*50mc9x0FjL7bv)vF
zjcto%iE)gMgQ`kgL}*A58p1&cNOcYn0yuB_o(9~na9v@S;@rbh!;F6wbEk+ojG4Vp
zZ(QoB4NDUi#@jh@kJurWh#{hhC?Z0mL#@J8hC(Ff92qjNimc4jq{Uk+X#g^S2*3f5
zN5I;^qlGCc#Vu@Ws3HiPF#O}s%P#=lfo~q(I3)GIUO#JpN#v{K>#KW@zI`4%W8VAm
z)8Bv1HlKVHNI%`a!TY~GV;=wgg5de>2N(Y+PrkngP~3hTJ$~U5+W=hOzq$J5v#-AU
E5Bp+lwg3PC
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..54b92066e9176728d8a77f546965dca6c2459277
GIT binary patch
literal 142
zcmd;J;A8*+4InlGVp|~g1maL2P6FZrAg%*q23CCt_|L$mufKiU_Fek={~6fz^*3$Z
rx)sI-s@S|8B+da=yLmg9!>O;o1*B*TjJIt&NH<s$%v3fekdFTVVW=j7
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0172.png
deleted file mode 100644
index 411693d82027f226fdd98706121a6d056f37e040..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1163
zcmd^-!K>p`6vmH^ka1$kB8z}gB1Ei^MT8)c$s)X$_lVEP%P<*?kVV7@1+&N^N`x!|
zW>KU_gbq{*l0_F;l(CBlT~w?xi;9IQSg>G_E=KI4V1>6BMC5p#f5XeY=W_4i{LbZm
z-zT>&&CZQyZva5&;`OuJWWP?<)7P(&_}ZsmJ_m3OZoPTuoE!y?<`~MdEJWmao@H5@
zrYVY&RY8;(PM{bLY)vv1QI~j}%^poASL5+vG};%%uHSFdbQ8y`FkA+~!t>^?+t~Kh
zG;3WSYg(x&BUvsaX&{QZAY?qBa9qr?A;a`&+NUUwq8y5{0Zae`01rESxWRUbn>nr<
zT-LZKaX!Q*e>6#t<9J_&yJ4^$c<bC*W%eSqn%JB~#yHf=Kr4K;?<$!iC$<!tUEdHL
zU9ePMmpMgZC6PHEkNf?8x7)RCyV-13tJQM3Tr3u|*{o@r$z)R3byZcP(P%gv4hDlf
z&$BE`k|c_vFbsnr@I23TUE8)z(=-f2(==68Wm)cayP_y27)8fkZ|D1K*IU@m)U+zy
z7^-?MtFa^pV%OmXgX0v26=|BI7IiVJ`qNQX7fIER$}AkF!65eX&`kq7@vX=;dXDZ}
zs%t2YE?0R_Bu*Y$iLdt@#WN*a6Agt=vmlDyUTAxP>A0F{E4nGEdKWQ1wC;9p+%M&6
zDwH1EH>g+wqBXWH&gWQ`n5O9asOu;Q2yg^=2(SfM0W1I-fEu6#7yx7dF+dN%10a$S
zz4m)tE^#u!qQE#t$3aykE+QB*35GBTfK=xIA%OE=-$RSrIW9|VQXG3&XqfR=F?WcV
zU60xN^vb2~+b}a>YCL`?ZV?;A0x?815k*9(b*NMr%Fq{yIlG3;t0F7&G->hJN*aI+
zAOdgz<PxwlaBpEsN^uSA3d#t=It(BD)_DWq3Hadlr9)Ex>v2!}T_Rs~^WyB}&PTtz
z`os5~?_PN3sT2SFkLO?M{?*(&x%-|!?tJ?s^Y-8Ga(An%arof<)31Mh`Ncnf{N}Tt
d{yF{P=I3pf{qX0P-XavZIKMpm>hztD{{`a~asU7T
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.lmp
index 30f1c79d8f49a678ca7efb9830d7c4b131673e9c..2f5ee22b76a1ce965e7ff13818670940834bf02b 100644
GIT binary patch
literal 146
zcmYL>%ME}q3`0YUpmY*$J}>|?umKaW00Xd3|JxNuLc-E>97~B4FCtb}`bKtgkds{G
xCJz}WeCl=vN~VA=Mq6!Ci6Lm?0ZyPMS|1iBpb>7y(Nj*fanY+7V=kKi_b-_HCt?5q
literal 137
zcmYL>%ME}q3`0{6&{4SgzyK`30xZA)48TxH`q{3ys1lZ5WIIZtL=g$Ha&BZN2RX?_
rZt{?6#!w3jkP`(oiEKTa>IelW&hFbNDl<br@#LirZ)PcX|9^b}tR5xZ
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/040D.png
deleted file mode 100644
index 5cd59fa7c3835f3f0db5b661c089afc0a32f32c1..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 1178
zcmd^7L963b6h1PGJYIMNsTjsAB4nhC2w4OP7$Gy}J>xTvm&arv3_&7hkwwJ7M94tE
zfLRnNnni^!GLS_VSrjc8q+r1=#z&N*U35{fV!;uMyhRtY7<b3}=5Kho_kP@SIN!P4
z@B94X+&DUX<q!alPTxJgOYnf~!-E^-{Nd*Q+v`N|;Le8xuj2;y-CMsCfQz$xC*;nv
zG|Nz?X(A%Wah*<wrfG_zB!w45hUF=S1xpnTS<pldr_*QS@zc@hYB<~##kSYmr0FV-
z7h%}?{@itEj?-Ay#4u`28>wn3%R@;jM6oXjInQStm#}Qy>4Xdu(6mQUE=AcCWdRrf
zIsjg6@yQA|Ev{y`Y_P3yUgB(kP5x}0?nm*i47US+-FKI{y~wP2YBsSkj`UHemA+bd
zO3#rqTS_c3G`gNH*cxvtoF=id*bxP0zu)h6yX|(n*=$y;)nc(|+jc&mPp8wSX~yGm
zUDs7r4Tr<QV9@XP^E}V8EJ>0mio!7TecyFm$8jvnG7Ll4byZarMUf<_+wBU1kYE(;
zgJA1<OUIpC_QWtNO&=&)E-A4n`9jy`c%5ZsrX$caOU>(ITJ<KwtS*wO7nNB!Nd127
z=Ao1NR^pkFqX)L;nTn&!wkB1%UnF)Onu(_cw(J_Br3$*trI{baP7qqIZ`h7%Sh8k_
ziq=JpuQtwlravyFNy?XQr>9e~2t;e#Y;ZQivcxn+&qGZ^o=1Q^z!QKqzye?n&;Zl`
zB|sk_1Bd|v02hErM)cb4ux)WX#-hMDM%zY3Aub{`WDy#|K?q294iEy^*K@BnxSnBK
zVw2*?#X`l5dm6J>5wi`LwMQ=;>ahh=119?Ocj6kcK`anML<3Pkgj$12fq?`)fta(a
zOPnHfB#tH{o?A%;kN^Y#7JwuHD;;+xrlb{@u&khrAgsgi*T0V519$;GxqEJt(*HWX
zR{s{sSG{q1eCOW7-(LIa=NIACgUgFgPyTuT{_ECPkN)`a)<y8e<?WZ4vv=P7_v7OS
kfBMcZ_s=h>M<1PipWnK9)T&>;ObFog<ox)Xw?FvoKSE}3#sB~S
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0419.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0419.lmp
index 950f91656cde3f58cc7b989cb6866172d87618f8..c48e80d4f5e61683385155fc0ded67d91f17acf5 100644
GIT binary patch
literal 152
zcmYj~+X;X`3<M7pk*mbN{jdW&umd}=13R#pdv~Yfsp!Il3|UBTthqA42oub(zzQ4e
q&~|!q7+bd#iBvU9A$jK>6^n9U+-0;-`ITeH<-JPY`<T$?dvXH38!7Do
literal 138
zcmYL>$qj%o3<Mn>kW%>hK>;*C12jMb6hKdLuI|DFMZ(fp-nG|Wyofki=^N~DzzG-J
r@W3?dsOA>coG8^M9yewSVF=6;@xF~|Ej=~PQY;nG^JbQEpZ~Wn%e5vA
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0400.lmp b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/0400.lmp
new file mode 100644
index 0000000000000000000000000000000000000000..5a41b45e3e0ce65d909ec41c2881c7d0186de6cd
GIT binary patch
literal 142
zcmXAh%MFAu3`7k9El>$Z&eT8$TftsQLI~1aXdIrkBRy-zzriLm3pP_1SYd-N{NR8a
y`XJZS^-?Vt&RTDT4>|6+cxRG!DMv(XMyV*(R5Pg^*pA9d1iv~}8UMY1LeC4<i!V|D
literal 0
HcmV?d00001
diff --git a/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png b/wadsrc_extra/static/filter/game-chex/fonts/defsmallfont/2012.png
deleted file mode 100644
index 4ffc36ccaceed43e8d9aa10ace07100e8e8eac9b..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 897
zcmW+!F{q?w5T4`;UrrttLJYC6u-L-F5DN<nx$_;~i{U)tfg~1&SXfw?#6pM!AtqVE
z78YA9cLoe>VL-?h7F#UD;tGp}Y_Y{cEVj6WEw<R=it94@-@!ls!1poV%rM_CPoJ3A
z_dmQ30N1yVZ$2aWip0IEd*pxq{-5970pYg~z9JbA@jnT^X9*8aKYjLyKmtc|3}sms
z;dq{BS(c`0ilSsy5G95aD24-DlT1a_B_7x7H*NcRxjZixr?Nawr(>4wlVlr3LlE?y
zw{hLhwpXUv==xIADn(hyaw$nOQ7i-@=lPW55|)h^CZuVfqCARnD9Q#f0Sq$V`G~Lf
zI1aeq;I6}=!M?)H9J}I8n_ZU4sfv#C;4t%cg|p4=KC`;SY-3{?=~bYWzB+Z4+>ujT
zip+^`h>k8;DzD3&BC(RlTrQW>>2y3E$8p^6_uK7u7>2&@*XwoHb#2==O;gwPVzHRd
z=d;<YD2hDK(=?6aIEtbm2t3boUDvj4(=-jk&@@d|RaurNlZhybDaP?743ECQbG_bn
zR;E?!#$444SxqE45GM{V7#ycCtVq)w)i>q3o~{;oQ>OJauJUM}1+&B}A~y@{)VE^S
z2p!$GRM$`(U9O9uOr0XKQeO`p#WN*a6AgvW@*qy!FtWYCbX?7}72T9neS(;rNB6KX
zURLrd6Dp6L8dM_P`2fceHyf-f%rf+S)O8dD1h@da0yqF{0eXNApaG}=W&k-r0uTat
z0OVxkUZ)cd1GX)eB_;_v4yr0~5s@K}$Pf)8K&lIX2*A1Pdmizy!J)z~!=;C%hB^N_
z;m$F044H#ZZ(Zu84Qmrt#@jjZfY>3Hh!LWRC?Z0mL#@JGhN(!*IWc5j6<L|5NsG5u
z(g0)t5r6|AAYg6a$-<13;tqB-R53(N6#ezj^(TaW@9W2(lg()MF5ZC`zkWbK_V(t%
ov#aO9??1i!^WP6Yf{%X#cu~;beDUv(L>S=q(UY4$9)9`5|D%0m`Tzg`
--
2.39.3

View File

@ -0,0 +1,270 @@
From bc6bf8c3b04fe074020b5de17f5b486bf61b2220 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Tue, 17 Jan 2023 16:27:52 -0300
Subject: [PATCH 24/51] Mark non-modifying map functions as const
---
wadsrc/static/zscript/engine/maps.zs | 110 +++++++++++++++------------
1 file changed, 63 insertions(+), 47 deletions(-)
diff --git a/wadsrc/static/zscript/engine/maps.zs b/wadsrc/static/zscript/engine/maps.zs
index d10ffe5d1..20ef85ab4 100644
--- a/wadsrc/static/zscript/engine/maps.zs
+++ b/wadsrc/static/zscript/engine/maps.zs
@@ -5,11 +5,12 @@ struct Map_I32_I8 native
native void Move(Map_I32_I8 other);
native void Swap(Map_I32_I8 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,int value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, int value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -33,10 +34,11 @@ struct Map_I32_I16 native
native void Move(Map_I32_I16 other);
native void Swap(Map_I32_I16 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(int key);
- native bool CheckKey(int key);
+ native bool CheckKey(int key) const;
+
native void Insert(int key,int value);
native void InsertNew(int key);
native void Remove(int key);
@@ -61,11 +63,12 @@ struct Map_I32_I32 native
native void Move(Map_I32_I32 other);
native void Swap(Map_I32_I32 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,int value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, int value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -89,11 +92,12 @@ struct Map_I32_F32 native
native void Move(Map_I32_F32 other);
native void Swap(Map_I32_F32 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native double Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,double value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, double value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -117,11 +121,12 @@ struct Map_I32_F64 native
native void Move(Map_I32_F64 other);
native void Swap(Map_I32_F64 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native double Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,double value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, double value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -145,11 +150,12 @@ struct Map_I32_Obj native
native void Move(Map_I32_Obj other);
native void Swap(Map_I32_Obj other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native Object Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,Object value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, Object value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -173,11 +179,12 @@ struct Map_I32_Ptr native
native void Move(Map_I32_Ptr other);
native void Swap(Map_I32_Ptr other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native voidptr Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,voidptr value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, voidptr value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -198,11 +205,12 @@ struct Map_I32_Str native
native void Move(Map_I32_Str other);
native void Swap(Map_I32_Str other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native String Get(int key);
- native bool CheckKey(int key);
- native void Insert(int key,String value);
+ native bool CheckKey(int key) const;
+
+ native void Insert(int key, String value);
native void InsertNew(int key);
native void Remove(int key);
}
@@ -228,11 +236,12 @@ struct Map_Str_I8 native
native void Move(Map_Str_I8 other);
native void Swap(Map_Str_I8 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,int value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, int value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -256,11 +265,12 @@ struct Map_Str_I16 native
native void Move(Map_Str_I16 other);
native void Swap(Map_Str_I16 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,int value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, int value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -284,11 +294,12 @@ struct Map_Str_I32 native
native void Move(Map_Str_I32 other);
native void Swap(Map_Str_I32 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native int Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,int value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, int value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -312,11 +323,12 @@ struct Map_Str_F32 native
native void Move(Map_Str_F32 other);
native void Swap(Map_Str_F32 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native double Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,double value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, double value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -340,11 +352,12 @@ struct Map_Str_F64 native
native void Move(Map_Str_F64 other);
native void Swap(Map_Str_F64 other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native double Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,double value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, double value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -368,11 +381,12 @@ struct Map_Str_Obj native
native void Move(Map_Str_Obj other);
native void Swap(Map_Str_Obj other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native Object Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,Object value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, Object value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -396,11 +410,12 @@ struct Map_Str_Ptr native
native void Move(Map_Str_Ptr other);
native void Swap(Map_Str_Ptr other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native voidptr Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,voidptr value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, voidptr value);
native void InsertNew(String key);
native void Remove(String key);
}
@@ -424,11 +439,12 @@ struct Map_Str_Str native
native void Move(Map_Str_Str other);
native void Swap(Map_Str_Str other);
native void Clear();
- native uint CountUsed();
+ native uint CountUsed() const;
native String Get(String key);
- native bool CheckKey(String key);
- native void Insert(String key,String value);
+ native bool CheckKey(String key) const;
+
+ native void Insert(String key, String value);
native void InsertNew(String key);
native void Remove(String key);
}
--
2.39.3

View File

@ -0,0 +1,32 @@
From d09cfff738f53f65efdeb1f39ce5ce1db81ee747 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Tue, 17 Jan 2023 16:33:41 -0300
Subject: [PATCH 25/51] Fix iterator invalidation for Map::Get
---
src/common/scripting/core/maps.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common/scripting/core/maps.cpp b/src/common/scripting/core/maps.cpp
index 68eab6d3d..bfc2b676d 100644
--- a/src/common/scripting/core/maps.cpp
+++ b/src/common/scripting/core/maps.cpp
@@ -125,6 +125,7 @@ template<typename M> expand_types_vm<typename M::ValueType> MapGet(M * self,expa
{
typename M::ValueType n {};
self->Insert(key,n);
+ self->info->rev++; // invalidate iterators
return n;
}
}
@@ -139,6 +140,7 @@ template<typename M> void MapGetString(M * self,expand_types_vm<typename M::KeyT
{
out = FString();
self->Insert(key,out);
+ self->info->rev++; // invalidate iterators
}
}
--
2.39.3

View File

@ -0,0 +1,59 @@
From 7f0b52de6fcddf98dc07ca3aa1c34e8b03e0416c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Wed, 18 Jan 2023 21:05:47 -0300
Subject: [PATCH 26/51] Add Missing Read Barriers to Map Get Functions
---
src/common/scripting/core/maps.cpp | 22 ++++++++++++++++++----
1 file changed, 18 insertions(+), 4 deletions(-)
diff --git a/src/common/scripting/core/maps.cpp b/src/common/scripting/core/maps.cpp
index bfc2b676d..b6ae925c6 100644
--- a/src/common/scripting/core/maps.cpp
+++ b/src/common/scripting/core/maps.cpp
@@ -118,8 +118,16 @@ template<typename M> unsigned int MapCountUsed(M * self)
template<typename M> expand_types_vm<typename M::ValueType> MapGet(M * self,expand_types_vm<typename M::KeyType> key)
{
typename M::ValueType * v = self->CheckKey(key);
- if (v) {
- return *v;
+ if (v)
+ {
+ if constexpr(std::is_same_v<typename M::ValueType, DObject*>)
+ {
+ return GC::ReadBarrier(*v);
+ }
+ else
+ {
+ return *v;
+ }
}
else
{
@@ -149,7 +157,6 @@ template<typename M> int MapCheckKey(M * self, expand_types_vm<typename M::KeyTy
return self->CheckKey(key) != nullptr;
}
-
//==========================================================================
//
// MapInsert
@@ -240,7 +247,14 @@ template<typename I> void MapIteratorGetKeyString(I * self, FString &out)
template<typename I> expand_types_vm<typename I::ValueType> MapIteratorGetValue(I * self)
{
- return self->GetValue();
+ if constexpr(std::is_same_v<typename I::ValueType, DObject*>)
+ {
+ return GC::ReadBarrier(self->GetValue());
+ }
+ else
+ {
+ return self->GetValue();
+ }
}
template<typename I> void MapIteratorGetValueString(I * self, FString &out)
--
2.39.3

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,44 @@
From 083b99557f0b0808088a53f5ea5efca040eb25e9 Mon Sep 17 00:00:00 2001
From: Emanuele Disco <emawind84@gmail.com>
Date: Tue, 24 Jan 2023 11:01:26 +0900
Subject: [PATCH 28/51] refactor: add some logs to help understand what is
happening during soundfont selection.
It helps understand what soundfont is currently used
refs: https://github.com/ZDoom/ZMusic/pull/44
---
src/common/audio/music/i_soundfont.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/common/audio/music/i_soundfont.cpp b/src/common/audio/music/i_soundfont.cpp
index f05f0cb76..af1c5634c 100644
--- a/src/common/audio/music/i_soundfont.cpp
+++ b/src/common/audio/music/i_soundfont.cpp
@@ -45,6 +45,7 @@
#include "findfile.h"
#include "i_interface.h"
#include "configfile.h"
+#include "printf.h"
//==========================================================================
//
@@ -447,6 +448,7 @@ const FSoundFontInfo *FSoundFontManager::FindSoundFont(const char *name, int all
// an empty name will pick the first one in a compatible format.
if (allowed & sfi.type && (name == nullptr || *name == 0 || !sfi.mName.CompareNoCase(name) || !sfi.mNameExt.CompareNoCase(name)))
{
+ DPrintf(DMSG_NOTIFY, "Found compatible soundfont %s\n", sfi.mNameExt.GetChars());
return &sfi;
}
}
@@ -455,6 +457,7 @@ const FSoundFontInfo *FSoundFontManager::FindSoundFont(const char *name, int all
{
if (allowed & sfi.type)
{
+ DPrintf(DMSG_NOTIFY, "Unable to find %s soundfont. Falling back to %s\n", name, sfi.mNameExt.GetChars());
return &sfi;
}
}
--
2.39.3

View File

@ -0,0 +1,25 @@
From 79f306ee58a7276d2bf81253540f36995bedb77a Mon Sep 17 00:00:00 2001
From: CandiceJoy <candice@candicejoy.com>
Date: Tue, 24 Jan 2023 14:23:04 -0600
Subject: [PATCH 29/51] Added check for invalid class on in-VM instantiation
Signed-off-by: CandiceJoy <candice@candicejoy.com>
---
src/common/scripting/core/scopebarrier.cpp | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/common/scripting/core/scopebarrier.cpp b/src/common/scripting/core/scopebarrier.cpp
index f4d584c7b..a6c5a2370 100644
--- a/src/common/scripting/core/scopebarrier.cpp
+++ b/src/common/scripting/core/scopebarrier.cpp
@@ -211,6 +211,7 @@ void FScopeBarrier::AddFlags(int flags1, int flags2, const char* name)
// these are for vmexec.h
void FScopeBarrier::ValidateNew(PClass* cls, int outerside)
{
+ if (cls->VMType == nullptr) ThrowAbortException(X_OTHER,"Cannot instantiate invalid class %s", cls->TypeName.GetChars());
int innerside = FScopeBarrier::SideFromObjectFlags(cls->VMType->ScopeFlags);
if ((outerside != innerside) && (innerside != FScopeBarrier::Side_PlainData)) // "cannot construct ui class ... from data context"
ThrowAbortException(X_OTHER, "Cannot construct %s class %s from %s context", FScopeBarrier::StringFromSide(innerside), cls->TypeName.GetChars(), FScopeBarrier::StringFromSide(outerside));
--
2.39.3

View File

@ -0,0 +1,25 @@
From c0945a116a60e7248bc3356a13b2fa0b49d42db1 Mon Sep 17 00:00:00 2001
From: CandiceJoy <candice@candicejoy.com>
Date: Thu, 26 Jan 2023 07:39:58 -0600
Subject: [PATCH 30/51] Fixed a bug where calling an invalid virtual function
would cause a crash.
---
src/common/scripting/vm/vmexec.h | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/common/scripting/vm/vmexec.h b/src/common/scripting/vm/vmexec.h
index 6716509da..f303304b8 100644
--- a/src/common/scripting/vm/vmexec.h
+++ b/src/common/scripting/vm/vmexec.h
@@ -849,6 +849,7 @@ static int ExecScriptFunc(VMFrameStack *stack, VMReturn *ret, int numret)
return 0;
}
auto p = o->GetClass();
+ if(p->Virtuals.Size() <= 0) ThrowAbortException(X_OTHER,"Attempted to call an invalid virtual function in class %s",p->TypeName.GetChars());
assert(C < p->Virtuals.Size());
reg.a[a] = p->Virtuals[C];
}
--
2.39.3

View File

@ -0,0 +1,25 @@
From 6e4521b749d497be67617095786f283afdb3d35c Mon Sep 17 00:00:00 2001
From: Emile Belanger <emile.belanger@gmail.com>
Date: Sun, 29 Jan 2023 15:56:14 +0000
Subject: [PATCH 31/51] GLES: Fix first wipe
---
src/common/rendering/hwrenderer/data/hw_viewpointbuffer.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.cpp b/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.cpp
index f60cda5e1..5a94ba0bd 100644
--- a/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.cpp
+++ b/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.cpp
@@ -124,6 +124,8 @@ void HWViewpointBuffer::Clear()
if (needNewPipeline)
{
+ mLastMappedIndex = UINT_MAX;
+
mPipelinePos++;
mPipelinePos %= mPipelineNbr;
}
--
2.39.3

View File

@ -0,0 +1,64 @@
From 547904ce9a4804a6ccdf7c0ccc7dedfaa60985c9 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Wed, 14 Jun 2023 20:14:13 -0300
Subject: [PATCH 32/51] Mark const methods as const in pseudo-generics
---
src/common/scripting/core/types.cpp | 20 ++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)
diff --git a/src/common/scripting/core/types.cpp b/src/common/scripting/core/types.cpp
index 838275dad..8a4c5bcab 100644
--- a/src/common/scripting/core/types.cpp
+++ b/src/common/scripting/core/types.cpp
@@ -2239,7 +2239,7 @@ enum OverrideFunctionArgType {
OFN_ARG_KEY_VAL,
};
-template<class MT, OverrideFunctionRetType RetType, OverrideFunctionArgType ArgType >
+template<OverrideFunctionRetType RetType, OverrideFunctionArgType ArgType, int ExtraFlags = 0, class MT>
void CreateOverrideFunction(MT *self, FName name)
{
auto Fn = Create<PFunction>(self->BackingType, name);
@@ -2294,7 +2294,7 @@ void CreateOverrideFunction(MT *self, FName name)
argnames.Push(NAME_Value);
}
- Fn->AddVariant(NewPrototype(ret, args), argflags, argnames, *NativeFn->VMPointer, VARF_Method | VARF_Native,SUF_ACTOR | SUF_OVERLAY | SUF_WEAPON | SUF_ITEM);
+ Fn->AddVariant(NewPrototype(ret, args), argflags, argnames, *NativeFn->VMPointer, VARF_Method | VARF_Native | ExtraFlags, SUF_ACTOR | SUF_OVERLAY | SUF_WEAPON | SUF_ITEM);
self->FnOverrides.Insert(name, Fn);
}
@@ -2304,11 +2304,11 @@ PMap::PMap(PType *keytype, PType *valtype, PStruct *backing, int backing_class)
mDescriptiveName.Format("Map<%s, %s>", keytype->DescriptiveName(), valtype->DescriptiveName());
Size = sizeof(ZSFMap);
Align = alignof(ZSFMap);
- CreateOverrideFunction<PMap, OFN_RET_VAL, OFN_ARG_KEY>(this, NAME_Get);
- CreateOverrideFunction<PMap, OFN_RET_BOOL, OFN_ARG_KEY>(this, NAME_CheckKey);
- CreateOverrideFunction<PMap, OFN_RET_VOID, OFN_ARG_KEY_VAL>(this, NAME_Insert);
- CreateOverrideFunction<PMap, OFN_RET_VOID, OFN_ARG_KEY>(this, NAME_InsertNew);
- CreateOverrideFunction<PMap, OFN_RET_VOID, OFN_ARG_KEY>(this, NAME_Remove);
+ CreateOverrideFunction< OFN_RET_VAL , OFN_ARG_KEY > (this, NAME_Get);
+ CreateOverrideFunction< OFN_RET_BOOL , OFN_ARG_KEY , VARF_ReadOnly> (this, NAME_CheckKey);
+ CreateOverrideFunction< OFN_RET_VOID , OFN_ARG_KEY_VAL > (this, NAME_Insert);
+ CreateOverrideFunction< OFN_RET_VOID , OFN_ARG_KEY > (this, NAME_InsertNew);
+ CreateOverrideFunction< OFN_RET_VOID , OFN_ARG_KEY > (this, NAME_Remove);
}
//==========================================================================
@@ -2770,9 +2770,9 @@ PMapIterator::PMapIterator(PType *keytype, PType *valtype, PStruct *backing, int
mDescriptiveName.Format("MapIterator<%s, %s>", keytype->DescriptiveName(), valtype->DescriptiveName());
Size = sizeof(ZSFMap);
Align = alignof(ZSFMap);
- CreateOverrideFunction<PMapIterator, OFN_RET_KEY, OFN_ARG_VOID>(this, NAME_GetKey);
- CreateOverrideFunction<PMapIterator, OFN_RET_VAL, OFN_ARG_VOID>(this, NAME_GetValue);
- CreateOverrideFunction<PMapIterator, OFN_RET_VOID, OFN_ARG_VAL>(this, NAME_SetValue);
+ CreateOverrideFunction<OFN_RET_KEY, OFN_ARG_VOID>(this, NAME_GetKey);
+ CreateOverrideFunction<OFN_RET_VAL, OFN_ARG_VOID>(this, NAME_GetValue);
+ CreateOverrideFunction<OFN_RET_VOID, OFN_ARG_VAL>(this, NAME_SetValue);
}
//==========================================================================
--
2.39.3

View File

@ -0,0 +1,474 @@
From adcb59e00e3f5a4e623be4b0b629b4bd8dfe933f Mon Sep 17 00:00:00 2001
From: Emile Belanger <emile.belanger@gmail.com>
Date: Sat, 4 Feb 2023 22:20:05 +0000
Subject: [PATCH 33/51] Fixing GLES mode to work on real GLES hardware and
OpenGL 2 again
---
src/common/rendering/gles/gles_buffers.cpp | 10 +-
src/common/rendering/gles/gles_hwtexture.cpp | 59 +++----
.../rendering/gles/gles_renderstate.cpp | 2 +-
src/common/rendering/gles/gles_system.cpp | 153 +++++++++++-------
src/common/rendering/gles/gles_system.h | 70 +++++---
5 files changed, 172 insertions(+), 122 deletions(-)
diff --git a/src/common/rendering/gles/gles_buffers.cpp b/src/common/rendering/gles/gles_buffers.cpp
index cf7b8ae97..7f56f737f 100644
--- a/src/common/rendering/gles/gles_buffers.cpp
+++ b/src/common/rendering/gles/gles_buffers.cpp
@@ -234,8 +234,7 @@ void GLBuffer::Resize(size_t newsize)
void GLBuffer::GPUDropSync()
{
-#if !(USE_GLES2) // Only applicable when running on desktop for now
- if (gles.useMappedBuffers && glFenceSync && glClientWaitSync)
+ if (gles.glesMode > GLES_MODE_GLES && gles.useMappedBuffers && glFenceSync && glDeleteSync)
{
if (mGLSync != NULL)
{
@@ -244,13 +243,11 @@ void GLBuffer::GPUDropSync()
mGLSync = glFenceSync(GL_SYNC_GPU_COMMANDS_COMPLETE, 0);
}
-#endif
}
void GLBuffer::GPUWaitSync()
{
-#if !(USE_GLES2) // Only applicable when running on desktop for now
- if (gles.useMappedBuffers && glFenceSync && glClientWaitSync)
+ if (gles.glesMode > GLES_MODE_GLES && gles.useMappedBuffers && glDeleteSync && glClientWaitSync)
{
GLenum status = glClientWaitSync(mGLSync, GL_SYNC_FLUSH_COMMANDS_BIT, 1000 * 1000 * 50); // Wait for a max of 50ms...
@@ -263,7 +260,6 @@ void GLBuffer::GPUWaitSync()
mGLSync = NULL;
}
-#endif
}
@@ -318,7 +314,7 @@ void GLVertexBuffer::Bind(int *offsets)
glVertexAttribPointer(i, attrinf.size, attrinf.format, attrinf.normalize, (GLsizei)mStride, (void*)(intptr_t)ofs);
else
{
- if (gles.gles3Features)
+ if (gles.glesMode >= GLES_MODE_OGL3)
glVertexAttribIPointer(i, attrinf.size, attrinf.format, (GLsizei)mStride, (void*)(intptr_t)ofs);
}
}
diff --git a/src/common/rendering/gles/gles_hwtexture.cpp b/src/common/rendering/gles/gles_hwtexture.cpp
index 43425ce7d..3f07c65d6 100644
--- a/src/common/rendering/gles/gles_hwtexture.cpp
+++ b/src/common/rendering/gles/gles_hwtexture.cpp
@@ -130,44 +130,47 @@ unsigned int FHardwareTexture::CreateTexture(unsigned char * buffer, int w, int
int sourcetype;
-
-#if USE_GLES2
- if (glTextureBytes == 1)
+ if (gles.glesMode == GLES_MODE_GLES)
{
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- sourcetype = GL_ALPHA;
- texformat = GL_ALPHA;
- }
- else
- {
- sourcetype = GL_BGRA;
- texformat = GL_BGRA;
- }
-#else
- if (glTextureBytes == 1)
- {
- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
- sourcetype = GL_RED;
- texformat = GL_RED;
+ if (glTextureBytes == 1)
+ {
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ sourcetype = GL_ALPHA;
+ texformat = GL_ALPHA;
+ }
+ else
+ {
+ sourcetype = GL_BGRA; // These two must be the same
+ texformat = GL_BGRA;
+ }
}
else
{
- sourcetype = GL_BGRA;
- texformat = GL_RGBA;
+ if (glTextureBytes == 1) //Use Red channel instread becuase Alpha does not work in OpenGL, swizzle later
+ {
+ glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+ sourcetype = GL_RED;
+ texformat = GL_RED;
+ }
+ else
+ {
+ sourcetype = GL_BGRA;
+ texformat = GL_RGBA;
+ }
}
-#endif
glTexImage2D(GL_TEXTURE_2D, 0, texformat, rw, rh, 0, sourcetype, GL_UNSIGNED_BYTE, buffer);
-#if !(USE_GLES2)
- // The shader is using the alpha channel instead of red, this work on GLES but not on GL
- // So the texture uses GL_RED and this swizzels the red channel into the alpha channel
- if (glTextureBytes == 1)
+ if (gles.glesMode != GLES_MODE_GLES)
{
- GLint swizzleMask[] = { GL_ZERO, GL_ZERO, GL_ZERO, GL_RED };
- glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask);
+ // The shader is using the alpha channel instead of red, this work on GLES but not on GL
+ // So the texture uses GL_RED and this swizzels the red channel into the alpha channel
+ if (glTextureBytes == 1)
+ {
+ GLint swizzleMask[] = { GL_ZERO, GL_ZERO, GL_ZERO, GL_RED };
+ glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_SWIZZLE_RGBA, swizzleMask);
+ }
}
-#endif
if (deletebuffer && buffer) free(buffer);
diff --git a/src/common/rendering/gles/gles_renderstate.cpp b/src/common/rendering/gles/gles_renderstate.cpp
index 87cf2681e..5995fd3b6 100644
--- a/src/common/rendering/gles/gles_renderstate.cpp
+++ b/src/common/rendering/gles/gles_renderstate.cpp
@@ -346,7 +346,7 @@ bool FGLRenderState::ApplyShader()
activeShader->cur->muLightRange.Set(range);
}
- if (gles.gles3Features)
+ if (gles.glesMode >= GLES_MODE_OGL3)
{
// Upload bone data
// NOTE, this is pretty inefficient, it will be reloading the same data over and over in a single frame
diff --git a/src/common/rendering/gles/gles_system.cpp b/src/common/rendering/gles/gles_system.cpp
index 22ba8cad6..bb7d61687 100644
--- a/src/common/rendering/gles/gles_system.cpp
+++ b/src/common/rendering/gles/gles_system.cpp
@@ -12,50 +12,16 @@ EXTERN_CVAR(Bool, gl_customshader);
void setGlVersion(double glv);
-#if USE_GLES2
+#if USE_GLAD_LOADER
PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRange = NULL;
PFNGLUNMAPBUFFEROESPROC glUnmapBuffer = NULL;
PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer = NULL;
+PFNGLFENCESYNCPROC glFenceSync = NULL;
+PFNGLCLIENTWAITSYNCPROC glClientWaitSync = NULL;
+PFNGLDELETESYNCPROC glDeleteSync = NULL;
-#ifdef __ANDROID__
-#include <dlfcn.h>
-
-static void* LoadGLES2Proc(const char* name)
-{
- static void *glesLib = NULL;
-
- if(!glesLib)
- {
- int flags = RTLD_LOCAL | RTLD_NOW;
-
- glesLib = dlopen("libGLESv2_CM.so", flags);
- if(!glesLib)
- {
- glesLib = dlopen("libGLESv2.so", flags);
- }
- if(!glesLib)
- {
- glesLib = dlopen("libGLESv2.so.2", flags);
- }
- }
-
- void * ret = NULL;
- ret = dlsym(glesLib, name);
-
- if(!ret)
- {
- //LOGI("Failed to load: %s", name);
- }
- else
- {
- //LOGI("Loaded %s func OK", name);
- }
-
- return ret;
-}
-
-#elif defined _WIN32
+#if defined _WIN32
#include <windows.h>
@@ -80,9 +46,38 @@ static void* LoadGLES2Proc(const char* name)
}
}
+#else
+
+#include <dlfcn.h>
+
+static void* LoadGLES2Proc(const char* name)
+{
+ static void* glesLib = NULL;
+
+ if (!glesLib)
+ {
+ int flags = RTLD_LOCAL | RTLD_NOW;
+
+ glesLib = dlopen("libGLESv2_CM.so", flags);
+ if (!glesLib)
+ {
+ glesLib = dlopen("libGLESv2.so", flags);
+ }
+ if (!glesLib)
+ {
+ glesLib = dlopen("libGLESv2.so.2", flags);
+ }
+ }
+
+ void* ret = NULL;
+ ret = dlsym(glesLib, name);
+
+ return ret;
+}
+
#endif
-#endif // USE_GLES2
+#endif // USE_GLAD_LOADER
static TArray<FString> m_Extensions;
@@ -126,7 +121,7 @@ namespace OpenGLESRenderer
void InitGLES()
{
-#if USE_GLES2
+#if USE_GLAD_LOADER
if (!gladLoadGLES2Loader(&LoadGLES2Proc))
{
@@ -136,6 +131,10 @@ namespace OpenGLESRenderer
glMapBufferRange = (PFNGLMAPBUFFERRANGEEXTPROC)LoadGLES2Proc("glMapBufferRange");
glUnmapBuffer = (PFNGLUNMAPBUFFEROESPROC)LoadGLES2Proc("glUnmapBuffer");
glVertexAttribIPointer = (PFNGLVERTEXATTRIBIPOINTERPROC)LoadGLES2Proc("glVertexAttribIPointer");
+
+ glFenceSync = (PFNGLFENCESYNCPROC)LoadGLES2Proc("glFenceSync");
+ glClientWaitSync = (PFNGLCLIENTWAITSYNCPROC)LoadGLES2Proc("glClientWaitSync");
+ glDeleteSync = (PFNGLDELETESYNCPROC)LoadGLES2Proc("glDeleteSync");
#else
static bool first = true;
@@ -161,48 +160,78 @@ namespace OpenGLESRenderer
{
Printf(" %s\n", m_Extensions[i].GetChars());
}
+ const char* glVersionStr = (const char*)glGetString(GL_VERSION);
+ double glVersion = strtod(glVersionStr, NULL);
+ Printf("GL Version parsed = %f\n", glVersion);
gles.flags = RFL_NO_CLIP_PLANES;
gles.useMappedBuffers = gles_use_mapped_buffer;
gles.forceGLSLv100 = gles_force_glsl_v100;
gles.maxlights = gles_max_lights_per_surface;
+ gles.numlightvectors = (gles.maxlights * LIGHT_VEC4_NUM);
gles.modelstring = (char*)glGetString(GL_RENDERER);
gles.vendorstring = (char*)glGetString(GL_VENDOR);
- gl_customshader = false;
+
+ gl_customshader = false; // Disable user shaders for GLES renderer
GLint maxTextureSize[1];
glGetIntegerv(GL_MAX_TEXTURE_SIZE, maxTextureSize);
-
gles.max_texturesize = maxTextureSize[0];
Printf("GL_MAX_TEXTURE_SIZE: %d\n", gles.max_texturesize);
-#if USE_GLES2
- gles.gles3Features = false; // Enales IQM bones
- gles.shaderVersionString = "100";
- gles.depthStencilAvailable = CheckExtension("GL_OES_packed_depth_stencil");
- gles.npotAvailable = CheckExtension("GL_OES_texture_npot");
- gles.depthClampAvailable = CheckExtension("GL_EXT_depth_clamp");
- gles.anistropicFilterAvailable = CheckExtension("GL_EXT_texture_filter_anisotropic");
-#else
- gles.gles3Features = true;
- gles.shaderVersionString = "330";
- gles.depthStencilAvailable = true;
- gles.npotAvailable = true;
- gles.useMappedBuffers = true;
- gles.depthClampAvailable = true;
- gles.anistropicFilterAvailable = true;
-#endif
+ // Check if running on a GLES device, version string will start with 'OpenGL ES'
+ if (!strncmp(glVersionStr, "OpenGL ES", strlen("OpenGL ES")))
+ {
+ gles.glesMode = GLES_MODE_GLES;
+ }
+ else // Else runnning on Desktop, check OpenGL version is 3 or above
+ {
+ if (glVersion > 3.29)
+ gles.glesMode = GLES_MODE_OGL3; // 3.3 or above
+ else
+ gles.glesMode = GLES_MODE_OGL2; // Below 3.3
+ }
- gles.numlightvectors = (gles.maxlights * LIGHT_VEC4_NUM);
- const char* glversion = (const char*)glGetString(GL_VERSION);
- setGlVersion( strtod(glversion, NULL));
+ if (gles.glesMode == GLES_MODE_GLES)
+ {
+ Printf("GLES choosing mode: GLES_MODE_GLES\n");
+ gles.shaderVersionString = "100";
+ gles.depthStencilAvailable = CheckExtension("GL_OES_packed_depth_stencil");
+ gles.npotAvailable = CheckExtension("GL_OES_texture_npot");
+ gles.depthClampAvailable = CheckExtension("GL_EXT_depth_clamp");
+ gles.anistropicFilterAvailable = CheckExtension("GL_EXT_texture_filter_anisotropic");
+ }
+ else if (gles.glesMode == GLES_MODE_OGL2)
+ {
+ Printf("GLES choosing mode: GLES_MODE_OGL2\n");
+
+ gles.shaderVersionString = "100";
+ gles.depthStencilAvailable = true;
+ gles.npotAvailable = true;
+ gles.useMappedBuffers = true;
+ gles.depthClampAvailable = true;
+ gles.anistropicFilterAvailable = true;
+ }
+ else if (gles.glesMode == GLES_MODE_OGL3)
+ {
+ Printf("GLES choosing mode: GLES_MODE_OGL3\n");
+
+ gles.shaderVersionString = "330";
+ gles.depthStencilAvailable = true;
+ gles.npotAvailable = true;
+ gles.useMappedBuffers = true;
+ gles.depthClampAvailable = true;
+ gles.anistropicFilterAvailable = true;
+ }
+
+ setGlVersion(glVersion);
}
}
diff --git a/src/common/rendering/gles/gles_system.h b/src/common/rendering/gles/gles_system.h
index 481c132d0..0edec6282 100644
--- a/src/common/rendering/gles/gles_system.h
+++ b/src/common/rendering/gles/gles_system.h
@@ -23,32 +23,47 @@
#include <sys/stat.h>
#include <fcntl.h>
-#define USE_GLES2 0 // For Desktop PC leave as 0, it will use the exisiting OpenGL context creationg code but run with the GLES2 renderer
- // Set to 1 for when comipling for a real GLES device
+#define USE_GLAD_LOADER 0 // Set to 1 to use the GLAD loader, otherwise use noramal GZDoom loader for PC
-#if (USE_GLES2)
+#if (USE_GLAD_LOADER)
#include "glad/glad.h"
-// Below are used extensions for GLES
-typedef void* (APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
-GLAPI PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRange;
-
-typedef GLboolean(APIENTRYP PFNGLUNMAPBUFFEROESPROC)(GLenum target);
-GLAPI PFNGLUNMAPBUFFEROESPROC glUnmapBuffer;
-
-typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer);
-GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer;
-
-#define GL_DEPTH24_STENCIL8 0x88F0
-#define GL_MAP_PERSISTENT_BIT 0x0040
-#define GL_MAP_READ_BIT 0x0001
-#define GL_MAP_WRITE_BIT 0x0002
-#define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
-#define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
-#define GL_BGRA 0x80E1
-#define GL_DEPTH_CLAMP 0x864F
-#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
-#define GL_INT_2_10_10_10_REV 0x8D9F
+ // Below are used extensions for GLES
+ typedef void* (APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access);
+ GLAPI PFNGLMAPBUFFERRANGEEXTPROC glMapBufferRange;
+
+ typedef GLboolean(APIENTRYP PFNGLUNMAPBUFFEROESPROC)(GLenum target);
+ GLAPI PFNGLUNMAPBUFFEROESPROC glUnmapBuffer;
+
+ typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer);
+ GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer;
+
+ typedef GLsync(APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags);
+ GLAPI PFNGLFENCESYNCPROC glFenceSync;
+
+ typedef GLenum(APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout);
+ GLAPI PFNGLCLIENTWAITSYNCPROC glClientWaitSync;
+
+ typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync);
+ GLAPI PFNGLDELETESYNCPROC glDeleteSync;
+
+ #define GL_DEPTH24_STENCIL8 0x88F0
+ #define GL_MAP_PERSISTENT_BIT 0x0040
+ #define GL_MAP_READ_BIT 0x0001
+ #define GL_MAP_WRITE_BIT 0x0002
+ #define GL_MAP_UNSYNCHRONIZED_BIT 0x0020
+ #define GL_MAP_INVALIDATE_BUFFER_BIT 0x0008
+ #define GL_BGRA 0x80E1
+ #define GL_DEPTH_CLAMP 0x864F
+ #define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE
+ #define GL_INT_2_10_10_10_REV 0x8D9F
+ #define GL_RED 0x1903
+ #define GL_TEXTURE_SWIZZLE_RGBA 0x8E46
+ #define GL_SYNC_GPU_COMMANDS_COMPLETE 0x9117
+ #define GL_SYNC_FLUSH_COMMANDS_BIT 0x00000001
+ #define GL_ALREADY_SIGNALED 0x911A
+ #define GL_CONDITION_SATISFIED 0x911C
+
#else
#include "gl_load/gl_load.h"
#endif
@@ -66,6 +81,13 @@ GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glVertexAttribIPointer;
namespace OpenGLESRenderer
{
+ enum
+ {
+ GLES_MODE_GLES = 0,
+ GLES_MODE_OGL2 = 1,
+ GLES_MODE_OGL3 = 2,
+ };
+
struct RenderContextGLES
{
unsigned int flags;
@@ -77,7 +99,7 @@ namespace OpenGLESRenderer
bool forceGLSLv100;
bool depthClampAvailable;
bool anistropicFilterAvailable;
- bool gles3Features;
+ int glesMode;
const char* shaderVersionString;
int max_texturesize;
char* vendorstring;
--
2.39.3

View File

@ -0,0 +1,26 @@
From fad3284bde35899cb24189cba60fae7ca56ce9ee Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Fri, 17 Feb 2023 16:11:39 -0300
Subject: [PATCH 34/51] Fix Software Slope Rendering for non-1.2 pixel ratios
---
src/rendering/swrenderer/viewport/r_viewport.cpp | 3 +++
1 file changed, 3 insertions(+)
diff --git a/src/rendering/swrenderer/viewport/r_viewport.cpp b/src/rendering/swrenderer/viewport/r_viewport.cpp
index aa455cf06..63606d467 100644
--- a/src/rendering/swrenderer/viewport/r_viewport.cpp
+++ b/src/rendering/swrenderer/viewport/r_viewport.cpp
@@ -172,6 +172,9 @@ namespace swrenderer
WallTMapScale2 = IYaspectMul / CenterX * 1.2 / ypixelstretch;
+ // [RicardoLuis0] adjust IYaspectMul for map stretch -- fixes slope rendering on maps that define pixelratio
+ IYaspectMul *= 1.2 / ypixelstretch;
+
// thing clipping
fillshort(screenheightarray, viewwidth, (short)viewheight);
--
2.39.3

View File

@ -0,0 +1,191 @@
From ab19c639264fca169dac6f0052dce38bc1c2dab5 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sat, 18 Feb 2023 23:28:54 -0300
Subject: [PATCH 35/51] Improve Services
---
src/common/scripting/interface/vmnatives.cpp | 7 +++
src/gamedata/info.cpp | 27 +++++++++++
wadsrc/static/zscript/engine/base.zs | 1 +
wadsrc/static/zscript/engine/service.zs | 49 ++++++--------------
4 files changed, 48 insertions(+), 36 deletions(-)
diff --git a/src/common/scripting/interface/vmnatives.cpp b/src/common/scripting/interface/vmnatives.cpp
index a29a6b711..f268b6e07 100644
--- a/src/common/scripting/interface/vmnatives.cpp
+++ b/src/common/scripting/interface/vmnatives.cpp
@@ -53,6 +53,8 @@
#include "s_soundinternal.h"
#include "i_time.h"
+#include "maps.h"
+
//==========================================================================
//
// status bar exports
@@ -1114,7 +1116,12 @@ DEFINE_FIELD_X(MusPlayingInfo, MusPlayingInfo, baseorder);
DEFINE_FIELD_X(MusPlayingInfo, MusPlayingInfo, loop);
DEFINE_FIELD_X(MusPlayingInfo, MusPlayingInfo, handle);
+extern ZSMap<FName, DObject* > AllServices;
+
DEFINE_GLOBAL_NAMED(PClass::AllClasses, AllClasses)
+
+DEFINE_GLOBAL(AllServices)
+
DEFINE_GLOBAL(Bindings)
DEFINE_GLOBAL(AutomapBindings)
DEFINE_GLOBAL(generic_ui)
diff --git a/src/gamedata/info.cpp b/src/gamedata/info.cpp
index 22ad8d42b..ed516a1cf 100644
--- a/src/gamedata/info.cpp
+++ b/src/gamedata/info.cpp
@@ -54,6 +54,7 @@
#include "g_levellocals.h"
#include "texturemanager.h"
#include "d_main.h"
+#include "maps.h"
extern void LoadActors ();
extern void InitBotStuff();
@@ -64,6 +65,7 @@ FRandom FState::pr_statetics("StateTics");
cycle_t ActionCycles;
+void InitServices();
//==========================================================================
//
@@ -368,6 +370,18 @@ static void LoadAltHudStuff()
//
//==========================================================================
+ZSMap<FName, DObject*> AllServices;
+
+static void MarkServices(){
+
+ ZSMap<FName, DObject*>::Iterator it(AllServices);
+ ZSMap<FName, DObject*>::Pair *pair;
+ while (it.NextPair(pair))
+ {
+ GC::Mark<DObject>(pair->Value);
+ }
+}
+
void PClassActor::StaticInit()
{
sprites.Clear();
@@ -402,6 +416,19 @@ void PClassActor::StaticInit()
}
}
+ PClass * cls = PClass::FindClass("Service");
+ for(PClass * clss : PClass::AllClasses)
+ {
+ if(clss != cls && cls->IsAncestorOf(clss))
+ {
+ DObject * obj = clss->CreateNew();
+ obj->ObjectFlags |= OF_Transient;
+ AllServices.Insert(clss->TypeName, obj);
+ }
+ }
+
+ GC::AddMarkerFunc(&MarkServices);
+
LoadAltHudStuff();
InitBotStuff();
diff --git a/wadsrc/static/zscript/engine/base.zs b/wadsrc/static/zscript/engine/base.zs
index cd2269661..43b998541 100644
--- a/wadsrc/static/zscript/engine/base.zs
+++ b/wadsrc/static/zscript/engine/base.zs
@@ -181,6 +181,7 @@ struct Vector3
struct _ native // These are the global variables, the struct is only here to avoid extending the parser for this.
{
native readonly Array<class> AllClasses;
+ native internal readonly Map<Name , Service> AllServices;
native readonly bool multiplayer;
native @KeyBindings Bindings;
native @KeyBindings AutomapBindings;
diff --git a/wadsrc/static/zscript/engine/service.zs b/wadsrc/static/zscript/engine/service.zs
index 5f834a809..50981ad80 100644
--- a/wadsrc/static/zscript/engine/service.zs
+++ b/wadsrc/static/zscript/engine/service.zs
@@ -54,6 +54,10 @@ class Service abstract
{
return null;
}
+
+ static Service Find(class<Service> serviceName){
+ return AllServices.GetIfExists(serviceName.GetClassName());
+ }
}
/**
@@ -88,54 +92,27 @@ class ServiceIterator
static ServiceIterator Find(String serviceName)
{
let result = new("ServiceIterator");
-
- result.mServiceName = serviceName;
- result.mClassIndex = 0;
- result.FindNextService();
-
+ result.mServiceName = serviceName.MakeLower();
+ result.it.Init(AllServices);
return result;
}
/**
* Gets the service and advances the iterator.
*
- * @returns service instance, or NULL if no more servers found.
- *
- * @note Each ServiceIterator will return new instances of services.
+ * @returns service instance, or NULL if no more services found.
*/
Service Next()
{
- uint classesNumber = AllClasses.Size();
- Service result = (mClassIndex == classesNumber)
- ? NULL
- : Service(new(AllClasses[mClassIndex]));
-
- ++mClassIndex;
- FindNextService();
-
- return result;
- }
-
- private void FindNextService()
- {
- uint classesNumber = AllClasses.size();
- while (mClassIndex < classesNumber && !ServiceNameContains(AllClasses[mClassIndex], mServiceName))
+ while(it.Next())
{
- ++mClassIndex;
+ String cName = it.GetKey();
+ if(cName.MakeLower().IndexOf(mServiceName) != -1);
+ return it.GetValue();
}
+ return null;
}
- private static bool ServiceNameContains(class aClass, String substring)
- {
- if (!(aClass is "Service")) return false;
-
- String className = aClass.GetClassName();
- String lowerClassName = className.MakeLower();
- String lowerSubstring = substring.MakeLower();
- bool result = lowerClassName.IndexOf(lowerSubstring) != -1;
- return result;
- }
-
+ private MapIterator<Name, Service> it;
private String mServiceName;
- private uint mClassIndex;
}
--
2.39.3

View File

@ -0,0 +1,25 @@
From 3c25b83096cda917250ef3d45dde3af297413ec1 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sun, 19 Feb 2023 12:47:16 +0100
Subject: [PATCH 36/51] - fixed typo in string label.
---
src/g_game.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/g_game.cpp b/src/g_game.cpp
index 4a3398fde..c960bab26 100644
--- a/src/g_game.cpp
+++ b/src/g_game.cpp
@@ -2015,7 +2015,7 @@ void G_DoLoadGame ()
}
else
{
- LoadGameError("TXT_IOTHERENGINESG", engine.GetChars());
+ LoadGameError("TXT_OTHERENGINESG", engine.GetChars());
}
return;
}
--
2.39.3

View File

@ -0,0 +1,26 @@
From e160c86c1fac9fcc1336fd81c772af5ad588be1e Mon Sep 17 00:00:00 2001
From: Rachael Alexanderson <18584402+madame-rachelle@users.noreply.github.com>
Date: Sun, 19 Feb 2023 10:14:36 -0500
Subject: [PATCH 37/51] Update service.zs
remove erroneous semicolon
---
wadsrc/static/zscript/engine/service.zs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wadsrc/static/zscript/engine/service.zs b/wadsrc/static/zscript/engine/service.zs
index 50981ad80..26102b0a2 100644
--- a/wadsrc/static/zscript/engine/service.zs
+++ b/wadsrc/static/zscript/engine/service.zs
@@ -107,7 +107,7 @@ class ServiceIterator
while(it.Next())
{
String cName = it.GetKey();
- if(cName.MakeLower().IndexOf(mServiceName) != -1);
+ if(cName.MakeLower().IndexOf(mServiceName) != -1)
return it.GetValue();
}
return null;
--
2.39.3

View File

@ -0,0 +1,34 @@
From 698d335ff71d4ad4c830d566ab445ee43aa7c815 Mon Sep 17 00:00:00 2001
From: John Stebbins <jstebbins@jetheaddev.com>
Date: Thu, 23 Feb 2023 07:32:58 -0700
Subject: [PATCH 38/51] Allow GAMEINFO LOAD to load directories
Addresses part of enhancement issue #2011
---
src/d_main.cpp | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/src/d_main.cpp b/src/d_main.cpp
index 5bf8e8928..b34c480ff 100644
--- a/src/d_main.cpp
+++ b/src/d_main.cpp
@@ -1773,6 +1773,7 @@ static FString ParseGameInfo(TArray<FString> &pwads, const char *fn, const char
FScanner sc;
FString iwad;
int pos = 0;
+ bool isDir;
const char *lastSlash = strrchr (fn, '/');
@@ -1806,7 +1807,7 @@ static FString ParseGameInfo(TArray<FString> &pwads, const char *fn, const char
{
checkpath = sc.String;
}
- if (!FileExists(checkpath))
+ if (!DirEntryExists(checkpath, &isDir))
{
pos += D_AddFile(pwads, sc.String, true, pos, GameConfig);
}
--
2.39.3

View File

@ -0,0 +1,21 @@
From 5b7dd42431b471113b82b1f72aa0f918bc8da641 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sat, 4 Mar 2023 10:46:37 +0100
Subject: [PATCH 39/51] - fixed bad character offset.
---
.../filter/doom.id/fonts/defsmallfont/0419.lmp | Bin 152 -> 152 bytes
1 file changed, 0 insertions(+), 0 deletions(-)
diff --git a/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0419.lmp b/wadsrc_extra/static/filter/doom.id/fonts/defsmallfont/0419.lmp
index c48e80d4f5e61683385155fc0ded67d91f17acf5..a861df892f13a777b2118a848b230b9cc2d595a8 100644
GIT binary patch
delta 15
WcmbQiID?U$gMo{Ifq{7<`$PZ~6ashv
delta 15
VcmbQiID?U$gMo_y2qv;m1OOBW0(AfY
--
2.39.3

View File

@ -0,0 +1,26 @@
From 9f13bb10d03bac86c19621f828d035b915182faf Mon Sep 17 00:00:00 2001
From: CandiceJoy <candice@candicejoy.com>
Date: Fri, 17 Mar 2023 05:51:06 -0500
Subject: [PATCH 40/51] Fixed incorrect parameter type in
A_CheckForResurrection.
---
src/scripting/vmthunks_actors.cpp | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/scripting/vmthunks_actors.cpp b/src/scripting/vmthunks_actors.cpp
index facbc59e3..25b082e23 100644
--- a/src/scripting/vmthunks_actors.cpp
+++ b/src/scripting/vmthunks_actors.cpp
@@ -1627,7 +1627,7 @@ int CheckForResurrection(AActor *self, FState* state, int sound)
DEFINE_ACTION_FUNCTION_NATIVE(AActor, A_CheckForResurrection, CheckForResurrection)
{
PARAM_SELF_PROLOGUE(AActor);
- PARAM_STATE(state);
+ PARAM_POINTER(state, FState);
PARAM_INT(sound);
ACTION_RETURN_BOOL(CheckForResurrection(self, state, sound));
}
--
2.39.3

View File

@ -0,0 +1,29 @@
From d028abc06403377b564623479bd830d8174455ac Mon Sep 17 00:00:00 2001
From: RaveYard <MrRaveYard@gmail.com>
Date: Sun, 19 Mar 2023 01:43:24 +0100
Subject: [PATCH 41/51] Fix TArray allocating 0 bytes in constructor
---
src/common/utility/tarray.h | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/common/utility/tarray.h b/src/common/utility/tarray.h
index a7decd4f3..8d7037db2 100644
--- a/src/common/utility/tarray.h
+++ b/src/common/utility/tarray.h
@@ -222,9 +222,9 @@ public:
explicit TArray (size_t max, bool reserve = false)
{
Most = (unsigned)max;
- Count = (unsigned)(reserve? max : 0);
- Array = (T *)M_Malloc (sizeof(T)*max);
- if (reserve && Count > 0)
+ Count = (unsigned)(reserve ? max : 0);
+ Array = max > 0 ? (T *)M_Malloc (sizeof(T)*max) : nullptr;
+ if (Count > 0)
{
ConstructEmpty(0, Count - 1);
}
--
2.39.3

View File

@ -0,0 +1,35 @@
From e77c9f5a0e8ccc71b726050625082ada156b2672 Mon Sep 17 00:00:00 2001
From: RaveYard <MrRaveYard@gmail.com>
Date: Sun, 19 Mar 2023 03:41:27 +0100
Subject: [PATCH 42/51] Use simpler constructor for TArray in
FBlockThingsIterator
---
src/playsim/p_maputl.cpp | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/playsim/p_maputl.cpp b/src/playsim/p_maputl.cpp
index aca40e741..f883cbc91 100644
--- a/src/playsim/p_maputl.cpp
+++ b/src/playsim/p_maputl.cpp
@@ -889,7 +889,7 @@ void FMultiBlockLinesIterator::Reset()
//===========================================================================
FBlockThingsIterator::FBlockThingsIterator(FLevelLocals *l)
-: DynHash(0)
+: DynHash()
{
Level = l;
minx = maxx = 0;
@@ -899,7 +899,7 @@ FBlockThingsIterator::FBlockThingsIterator(FLevelLocals *l)
}
FBlockThingsIterator::FBlockThingsIterator(FLevelLocals *l, int _minx, int _miny, int _maxx, int _maxy)
-: DynHash(0)
+: DynHash()
{
Level = l;
minx = _minx;
--
2.39.3

View File

@ -0,0 +1,26 @@
From f658338e869b47321af57838518b7346d8d495df Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Wed, 22 Mar 2023 04:54:29 -0300
Subject: [PATCH 43/51] Fix possible memory corruption in
`TArray::Delete(index, count)`
---
src/common/utility/tarray.h | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/common/utility/tarray.h b/src/common/utility/tarray.h
index 8d7037db2..cc13050b5 100644
--- a/src/common/utility/tarray.h
+++ b/src/common/utility/tarray.h
@@ -453,6 +453,8 @@ public:
void Delete (unsigned int index, int deletecount)
{
+ if(index >= Count) return;
+
if (index + deletecount > Count)
{
deletecount = Count - index;
--
2.39.3

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,200 @@
From 3b52c955b18667bd6ea319f89e762c5331603bc9 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sun, 26 Mar 2023 09:27:26 +0200
Subject: [PATCH 45/51] - made D_WriteUserInfoStrings memory safe.
Its callers are anything but for now but this function was the main blocker for refactoring so it had to come first.
---
src/d_net.cpp | 8 +++-
src/d_netinf.h | 2 +-
src/d_netinfo.cpp | 106 +++++++++++++++++++++++-----------------------
src/g_game.cpp | 10 +++--
4 files changed, 65 insertions(+), 61 deletions(-)
diff --git a/src/d_net.cpp b/src/d_net.cpp
index e83b06939..80f43e1a2 100644
--- a/src/d_net.cpp
+++ b/src/d_net.cpp
@@ -1505,7 +1505,9 @@ bool DoArbitrate (void *userdata)
netbuffer[1] = consoleplayer;
netbuffer[9] = data->gotsetup[0];
stream = &netbuffer[10];
- D_WriteUserInfoStrings (consoleplayer, &stream, true);
+ auto str = D_GetUserInfoStrings (consoleplayer, true);
+ memcpy(stream, str.GetChars(), str.Len() + 1);
+ stream += str.Len();
SendSetup (data->playersdetected, data->gotsetup, int(stream - netbuffer));
}
else
@@ -1520,7 +1522,9 @@ bool DoArbitrate (void *userdata)
{
netbuffer[1] = j;
stream = &netbuffer[9];
- D_WriteUserInfoStrings (j, &stream, true);
+ auto str = D_GetUserInfoStrings(j, true);
+ memcpy(stream, str.GetChars(), str.Len() + 1);
+ stream += str.Len();
HSendPacket (i, int(stream - netbuffer));
}
}
diff --git a/src/d_netinf.h b/src/d_netinf.h
index 5e46b7b14..56f955e06 100644
--- a/src/d_netinf.h
+++ b/src/d_netinf.h
@@ -58,7 +58,7 @@ bool D_SendServerInfoChange (FBaseCVar *cvar, UCVarValue value, ECVarType type);
bool D_SendServerFlagChange (FBaseCVar *cvar, int bitnum, bool set, bool silent);
void D_DoServerInfoChange (uint8_t **stream, bool singlebit);
-void D_WriteUserInfoStrings (int player, uint8_t **stream, bool compact=false);
+FString D_GetUserInfoStrings(int pnum, bool compact = false);
void D_ReadUserInfoStrings (int player, uint8_t **stream, bool update);
struct FPlayerColorSet;
diff --git a/src/d_netinfo.cpp b/src/d_netinfo.cpp
index 6c31fbe73..bbcd42168 100644
--- a/src/d_netinfo.cpp
+++ b/src/d_netinfo.cpp
@@ -727,67 +727,65 @@ static int namesortfunc(const void *a, const void *b)
return stricmp(name1->GetChars(), name2->GetChars());
}
-void D_WriteUserInfoStrings (int pnum, uint8_t **stream, bool compact)
+FString D_GetUserInfoStrings(int pnum, bool compact)
{
- if (pnum >= MAXPLAYERS)
+ FString result;
+ if (pnum >= 0 && pnum < MAXPLAYERS)
{
- WriteByte (0, stream);
- return;
- }
-
- userinfo_t *info = &players[pnum].userinfo;
- TArray<TMap<FName, FBaseCVar *>::Pair *> userinfo_pairs(info->CountUsed());
- TMap<FName, FBaseCVar *>::Iterator it(*info);
- TMap<FName, FBaseCVar *>::Pair *pair;
- UCVarValue cval;
+ userinfo_t* info = &players[pnum].userinfo;
+ TArray<TMap<FName, FBaseCVar*>::Pair*> userinfo_pairs(info->CountUsed());
+ TMap<FName, FBaseCVar*>::Iterator it(*info);
+ TMap<FName, FBaseCVar*>::Pair* pair;
+ UCVarValue cval;
- // Create a simple array of all userinfo cvars
- while (it.NextPair(pair))
- {
- userinfo_pairs.Push(pair);
- }
- // For compact mode, these need to be sorted. Verbose mode doesn't matter.
- if (compact)
- {
- qsort(&userinfo_pairs[0], userinfo_pairs.Size(), sizeof(pair), userinfosortfunc);
- // Compact mode is signified by starting the string with two backslash characters.
- // We output one now. The second will be output as part of the first value.
- *(*stream)++ = '\\';
- }
- for (unsigned int i = 0; i < userinfo_pairs.Size(); ++i)
- {
- pair = userinfo_pairs[i];
-
- if (!compact)
- { // In verbose mode, prepend the cvar's name
- *stream += sprintf(*((char **)stream), "\\%s", pair->Key.GetChars());
+ // Create a simple array of all userinfo cvars
+ while (it.NextPair(pair))
+ {
+ userinfo_pairs.Push(pair);
+ }
+ // For compact mode, these need to be sorted. Verbose mode doesn't matter.
+ if (compact)
+ {
+ qsort(&userinfo_pairs[0], userinfo_pairs.Size(), sizeof(pair), userinfosortfunc);
+ // Compact mode is signified by starting the string with two backslash characters.
+ // We output one now. The second will be output as part of the first value.
+ result += '\\';
}
- // A few of these need special handling for compatibility reasons.
- switch (pair->Key.GetIndex())
+ for (unsigned int i = 0; i < userinfo_pairs.Size(); ++i)
{
- case NAME_Gender:
- *stream += sprintf(*((char **)stream), "\\%s",
- *static_cast<FIntCVar *>(pair->Value) == GENDER_FEMALE ? "female" :
- *static_cast<FIntCVar *>(pair->Value) == GENDER_NEUTER ? "neutral" :
- *static_cast<FIntCVar *>(pair->Value) == GENDER_OBJECT ? "other" : "male");
- break;
-
- case NAME_PlayerClass:
- *stream += sprintf(*((char **)stream), "\\%s", info->GetPlayerClassNum() == -1 ? "Random" :
- D_EscapeUserInfo(info->GetPlayerClassType()->GetDisplayName().GetChars()).GetChars());
- break;
-
- case NAME_Skin:
- *stream += sprintf(*((char **)stream), "\\%s", D_EscapeUserInfo(Skins[info->GetSkin()].Name).GetChars());
- break;
-
- default:
- cval = pair->Value->GetGenericRep(CVAR_String);
- *stream += sprintf(*((char **)stream), "\\%s", cval.String);
- break;
+ pair = userinfo_pairs[i];
+
+ if (!compact)
+ { // In verbose mode, prepend the cvar's name
+ result.AppendFormat("\\%s", pair->Key.GetChars());
+ }
+ // A few of these need special handling for compatibility reasons.
+ switch (pair->Key.GetIndex())
+ {
+ case NAME_Gender:
+ result.AppendFormat("\\%s",
+ *static_cast<FIntCVar*>(pair->Value) == GENDER_FEMALE ? "female" :
+ *static_cast<FIntCVar*>(pair->Value) == GENDER_NEUTER ? "neutral" :
+ *static_cast<FIntCVar*>(pair->Value) == GENDER_OBJECT ? "other" : "male");
+ break;
+
+ case NAME_PlayerClass:
+ result.AppendFormat("\\%s", info->GetPlayerClassNum() == -1 ? "Random" :
+ D_EscapeUserInfo(info->GetPlayerClassType()->GetDisplayName().GetChars()).GetChars());
+ break;
+
+ case NAME_Skin:
+ result.AppendFormat("\\%s", D_EscapeUserInfo(Skins[info->GetSkin()].Name).GetChars());
+ break;
+
+ default:
+ cval = pair->Value->GetGenericRep(CVAR_String);
+ result.AppendFormat("\\%s", cval.String);
+ break;
+ }
}
}
- *(*stream)++ = '\0';
+ return result;
}
void D_ReadUserInfoStrings (int pnum, uint8_t **stream, bool update)
diff --git a/src/g_game.cpp b/src/g_game.cpp
index c960bab26..7ac7fd98d 100644
--- a/src/g_game.cpp
+++ b/src/g_game.cpp
@@ -2618,10 +2618,12 @@ void G_BeginRecording (const char *startmap)
{
if (playeringame[i])
{
- StartChunk (UINF_ID, &demo_p);
- WriteByte ((uint8_t)i, &demo_p);
- D_WriteUserInfoStrings (i, &demo_p);
- FinishChunk (&demo_p);
+ StartChunk(UINF_ID, &demo_p);
+ WriteByte((uint8_t)i, &demo_p);
+ auto str = D_GetUserInfoStrings(i);
+ memcpy(demo_p, str.GetChars(), str.Len() + 1);
+ demo_p += str.Len();
+ FinishChunk(&demo_p);
}
}
--
2.39.3

View File

@ -0,0 +1,68 @@
From 43131effaa913a40fe10c15836e272c484b7c4f7 Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sun, 26 Mar 2023 09:49:40 +0200
Subject: [PATCH 46/51] - avoid arithmetics with literal null pointers in
ParseCommandLine.
Also avoid using longs.
---
src/m_misc.cpp | 14 ++++++++------
1 file changed, 8 insertions(+), 6 deletions(-)
diff --git a/src/m_misc.cpp b/src/m_misc.cpp
index 6e40991da..45af80cec 100644
--- a/src/m_misc.cpp
+++ b/src/m_misc.cpp
@@ -74,7 +74,7 @@ CVAR(String, screenshot_type, "png", CVAR_ARCHIVE|CVAR_GLOBALCONFIG);
CVAR(String, screenshot_dir, "", CVAR_ARCHIVE|CVAR_GLOBALCONFIG);
EXTERN_CVAR(Bool, longsavemessages);
-static long ParseCommandLine (const char *args, int *argc, char **argv);
+static size_t ParseCommandLine (const char *args, int *argc, char **argv);
//---------------------------------------------------------------------------
@@ -101,7 +101,7 @@ void M_FindResponseFile (void)
TArray<uint8_t> file;
int argc = 0;
int size;
- long argsize = 0;
+ size_t argsize = 0;
int index;
// Any more response files after the limit will be removed from the
@@ -179,17 +179,19 @@ void M_FindResponseFile (void)
// This is just like the version in c_dispatch.cpp, except it does not
// do cvar expansion.
-static long ParseCommandLine (const char *args, int *argc, char **argv)
+static size_t ParseCommandLine (const char *args, int *argc, char **argv)
{
int count;
+ char* buffstart;
char *buffplace;
count = 0;
- buffplace = NULL;
+ buffstart = NULL;
if (argv != NULL)
{
- buffplace = argv[0];
+ buffstart = argv[0];
}
+ buffplace = buffstart;
for (;;)
{
@@ -257,7 +259,7 @@ static long ParseCommandLine (const char *args, int *argc, char **argv)
{
*argc = count;
}
- return (long)(buffplace - (char *)0);
+ return (buffplace - buffstart);
}
--
2.39.3

View File

@ -0,0 +1,69 @@
From 08d36a6540644f636466d118f1fa92d23060e24a Mon Sep 17 00:00:00 2001
From: Christoph Oelckers <coelckers@users.noreply.github.com>
Date: Sat, 1 Apr 2023 12:45:55 +0200
Subject: [PATCH 47/51] - backported RapidJSON fix from Raze.
---
src/common/thirdparty/rapidjson/writer.h | 36 +++++++++++++++---------
1 file changed, 22 insertions(+), 14 deletions(-)
diff --git a/src/common/thirdparty/rapidjson/writer.h b/src/common/thirdparty/rapidjson/writer.h
index 50f6af989..bbc944979 100644
--- a/src/common/thirdparty/rapidjson/writer.h
+++ b/src/common/thirdparty/rapidjson/writer.h
@@ -552,30 +552,38 @@ inline bool Writer<StringBuffer>::WriteUint64(uint64_t u) {
template<>
inline bool Writer<StringBuffer>::WriteDouble(double d) {
+ bool ret = true;
if (internal::Double(d).IsNanOrInf()) {
// Note: This code path can only be reached if (RAPIDJSON_WRITE_DEFAULT_FLAGS & kWriteNanAndInfFlag).
if (!(kWriteDefaultFlags & kWriteNanAndInfFlag))
- return false;
- if (internal::Double(d).IsNan()) {
- PutReserve(*os_, 3);
- PutUnsafe(*os_, 'N'); PutUnsafe(*os_, 'a'); PutUnsafe(*os_, 'N');
- return true;
- }
- if (internal::Double(d).Sign()) {
- PutReserve(*os_, 9);
- PutUnsafe(*os_, '-');
+ {
+ // if we abort here, the writer is left in a broken state, unable to recover, so better write a 0 in addition to returning an error.
+ ret = false;
+ d = 0;
}
else
- PutReserve(*os_, 8);
- PutUnsafe(*os_, 'I'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'f');
- PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'y');
- return true;
+ {
+ if (internal::Double(d).IsNan()) {
+ PutReserve(*os_, 3);
+ PutUnsafe(*os_, 'N'); PutUnsafe(*os_, 'a'); PutUnsafe(*os_, 'N');
+ return true;
+ }
+ if (internal::Double(d).Sign()) {
+ PutReserve(*os_, 9);
+ PutUnsafe(*os_, '-');
+ }
+ else
+ PutReserve(*os_, 8);
+ PutUnsafe(*os_, 'I'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'f');
+ PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 'n'); PutUnsafe(*os_, 'i'); PutUnsafe(*os_, 't'); PutUnsafe(*os_, 'y');
+ return true;
+ }
}
char *buffer = os_->Push(25);
char* end = internal::dtoa(d, buffer, maxDecimalPlaces_);
os_->Pop(static_cast<size_t>(25 - (end - buffer)));
- return true;
+ return ret;
}
#if defined(RAPIDJSON_SSE2) || defined(RAPIDJSON_SSE42)
--
2.39.3

View File

@ -0,0 +1,33 @@
From 2990caaa937b96c70124258ed48353587dbcdd4f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Sat, 11 Feb 2023 12:51:25 -0300
Subject: [PATCH 48/51] Fix value of `X = Y` when Y is an int constant
---
src/common/scripting/backend/codegen.cpp | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/src/common/scripting/backend/codegen.cpp b/src/common/scripting/backend/codegen.cpp
index 6cf593fa2..7be3c67c1 100644
--- a/src/common/scripting/backend/codegen.cpp
+++ b/src/common/scripting/backend/codegen.cpp
@@ -2571,7 +2571,15 @@ ExpEmit FxAssign::Emit(VMFunctionBuilder *build)
}
pointer.Free(build);
- return result;
+
+ if(intconst)
+ { //fix int constant return for assignment
+ return Right->Emit(build);
+ }
+ else
+ {
+ return result;
+ }
}
//==========================================================================
--
2.39.3

View File

@ -0,0 +1,27 @@
From 571637d6ea1f12f7b86ee223f33de1cc0351e17d Mon Sep 17 00:00:00 2001
From: Chris Cowan <agentme49@gmail.com>
Date: Sat, 13 May 2023 21:39:55 -0700
Subject: [PATCH 49/51] Fix BUILD_SHARED_LIBS build option on Windows
This commit fixes the build error "unresolved external symbol GetModuleInformation" when the project is built on Windows with BUILD_SHARED_LIBS enabled.
Gzdoom must be linked against "psapi". When BUILD_SHARED_LIBS is off (default), it gets linked because the discord-rpc library is linked against it and then statically linked into the project. The issue is fixed by making Gzdoom itself explicitly link against "psapi" too.
---
src/CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 911e35dce..889a99dba 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -54,6 +54,7 @@ if( WIN32 )
add_definitions( -D_WIN32 )
set( PROJECT_LIBRARIES
+ psapi
wsock32
winmm
dinput8
--
2.39.3

View File

@ -0,0 +1,212 @@
From 7e650c79a9b06b509a33be59cda816b6272a670c Mon Sep 17 00:00:00 2001
From: l2ksolkov <jordandare@hotmail.com>
Date: Sun, 28 May 2023 20:29:24 -0700
Subject: [PATCH 50/51] Add missing include guards
---
src/common/console/c_commandbuffer.h | 1 +
src/common/console/c_consolebuffer.h | 1 +
src/common/engine/serializer_internal.h | 1 +
src/common/filesystem/ancientzip.h | 1 +
src/common/platform/win32/winres.h | 1 +
src/common/rendering/hwrenderer/data/hw_viewpointbuffer.h | 2 +-
src/common/scripting/jit/jitintern.h | 2 +-
src/common/textures/animlib.h | 1 +
src/common/textures/hires/hqnx_asm/hqnx_asm_Image.h | 1 +
src/common/utility/weightedlist.h | 1 +
src/d_defcvars.h | 1 +
src/g_pch.h | 1 +
src/g_pch2.h | 1 +
src/gamedata/doomfont.h | 1 +
src/r_data/r_vanillatrans.h | 1 +
src/rendering/hwrenderer/hw_vertexbuilder.h | 2 +-
src/rendering/swrenderer/textures/warpbuffer.h | 1 +
17 files changed, 17 insertions(+), 3 deletions(-)
diff --git a/src/common/console/c_commandbuffer.h b/src/common/console/c_commandbuffer.h
index 179651c45..637027b27 100644
--- a/src/common/console/c_commandbuffer.h
+++ b/src/common/console/c_commandbuffer.h
@@ -1,3 +1,4 @@
+#pragma once
#include <string>
#include "zstring.h"
diff --git a/src/common/console/c_consolebuffer.h b/src/common/console/c_consolebuffer.h
index 58bc0edea..8d4e235d5 100644
--- a/src/common/console/c_consolebuffer.h
+++ b/src/common/console/c_consolebuffer.h
@@ -32,6 +32,7 @@
**---------------------------------------------------------------------------
**
*/
+#pragma once
#include <limits.h>
#include <stdio.h>
diff --git a/src/common/engine/serializer_internal.h b/src/common/engine/serializer_internal.h
index 31cf76c1a..05b6dcad0 100644
--- a/src/common/engine/serializer_internal.h
+++ b/src/common/engine/serializer_internal.h
@@ -1,3 +1,4 @@
+#pragma once
const char* UnicodeToString(const char* cc);
const char* StringToUnicode(const char* cc, int size = -1);
diff --git a/src/common/filesystem/ancientzip.h b/src/common/filesystem/ancientzip.h
index 621505504..6241f775d 100644
--- a/src/common/filesystem/ancientzip.h
+++ b/src/common/filesystem/ancientzip.h
@@ -1,3 +1,4 @@
+#pragma once
#include "files.h"
#include "engineerrors.h"
diff --git a/src/common/platform/win32/winres.h b/src/common/platform/win32/winres.h
index 6d78230d8..a2b8711a6 100644
--- a/src/common/platform/win32/winres.h
+++ b/src/common/platform/win32/winres.h
@@ -10,6 +10,7 @@
// winres.h - Windows resource definitions
// extracted from WINUSER.H and COMMCTRL.H
+#pragma once
#ifdef _AFX_MINREBUILD
#pragma component(minrebuild, off)
diff --git a/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.h b/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.h
index f52af7ebc..8efe61738 100644
--- a/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.h
+++ b/src/common/rendering/hwrenderer/data/hw_viewpointbuffer.h
@@ -1,4 +1,4 @@
-
+#pragma once
#include "tarray.h"
#include "hwrenderer/data/buffers.h"
diff --git a/src/common/scripting/jit/jitintern.h b/src/common/scripting/jit/jitintern.h
index aaf8d70a6..05dfd62df 100644
--- a/src/common/scripting/jit/jitintern.h
+++ b/src/common/scripting/jit/jitintern.h
@@ -1,4 +1,4 @@
-
+#pragma once
#include "jit.h"
#include "types.h"
diff --git a/src/common/textures/animlib.h b/src/common/textures/animlib.h
index 23d0d89da..661f00fb2 100644
--- a/src/common/textures/animlib.h
+++ b/src/common/textures/animlib.h
@@ -24,6 +24,7 @@ Prepared for public release: 03/21/2003 - Charlie Wiederhold, 3D Realms
Modifications for JonoF's port by Jonathon Fowler (jf@jonof.id.au)
*/
//-------------------------------------------------------------------------
+#pragma once
#include <stdint.h>
/////////////////////////////////////////////////////////////////////////////
diff --git a/src/common/textures/hires/hqnx_asm/hqnx_asm_Image.h b/src/common/textures/hires/hqnx_asm/hqnx_asm_Image.h
index 918b904fe..6e2a93108 100644
--- a/src/common/textures/hires/hqnx_asm/hqnx_asm_Image.h
+++ b/src/common/textures/hires/hqnx_asm/hqnx_asm_Image.h
@@ -19,6 +19,7 @@
//#ifdef WIN32
//#define DLL __declspec(dllexport)
//#else
+#pragma once
#define DLL
//#endif
diff --git a/src/common/utility/weightedlist.h b/src/common/utility/weightedlist.h
index cd6a4ba0e..fb956a462 100644
--- a/src/common/utility/weightedlist.h
+++ b/src/common/utility/weightedlist.h
@@ -31,6 +31,7 @@
**---------------------------------------------------------------------------
**
*/
+#pragma once
#include <stdlib.h>
#include <stdint.h>
diff --git a/src/d_defcvars.h b/src/d_defcvars.h
index 73f110c70..8bf3d7c18 100644
--- a/src/d_defcvars.h
+++ b/src/d_defcvars.h
@@ -19,6 +19,7 @@
// defcvars loader split from d_main.cpp
//
//-----------------------------------------------------------------------------
+#pragma once
#define SHOULD_BLACKLIST(name) \
if (#name[0]==CurrentFindCVar[0]) \
diff --git a/src/g_pch.h b/src/g_pch.h
index bad3eda56..cf3dfdbd5 100644
--- a/src/g_pch.h
+++ b/src/g_pch.h
@@ -1,3 +1,4 @@
+#pragma once
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
diff --git a/src/g_pch2.h b/src/g_pch2.h
index 4cd69197e..f5871488a 100644
--- a/src/g_pch2.h
+++ b/src/g_pch2.h
@@ -1,4 +1,5 @@
// This is separate because the files being compiled with it use different compiler settings which may affect how the header is compiled
+#pragma once
#include <stddef.h>
#include <stdlib.h>
#include <stdio.h>
diff --git a/src/gamedata/doomfont.h b/src/gamedata/doomfont.h
index 9b44a480f..b9d14db7d 100644
--- a/src/gamedata/doomfont.h
+++ b/src/gamedata/doomfont.h
@@ -1,6 +1,7 @@
//
// Globally visible constants.
//
+#pragma once
#define HU_FONTSTART uint8_t('!') // the first font characters
#define HU_FONTEND uint8_t('\377') // the last font characters
diff --git a/src/r_data/r_vanillatrans.h b/src/r_data/r_vanillatrans.h
index 702fc8212..d6b6a5d9e 100644
--- a/src/r_data/r_vanillatrans.h
+++ b/src/r_data/r_vanillatrans.h
@@ -30,6 +30,7 @@
**---------------------------------------------------------------------------
**
*/
+#pragma once
void UpdateVanillaTransparency();
diff --git a/src/rendering/hwrenderer/hw_vertexbuilder.h b/src/rendering/hwrenderer/hw_vertexbuilder.h
index 4fbe9916f..0444613be 100644
--- a/src/rendering/hwrenderer/hw_vertexbuilder.h
+++ b/src/rendering/hwrenderer/hw_vertexbuilder.h
@@ -1,4 +1,4 @@
-
+#pragma once
#include "tarray.h"
#include "r_defs.h"
struct vertex_t;
diff --git a/src/rendering/swrenderer/textures/warpbuffer.h b/src/rendering/swrenderer/textures/warpbuffer.h
index 778706850..594903a53 100644
--- a/src/rendering/swrenderer/textures/warpbuffer.h
+++ b/src/rendering/swrenderer/textures/warpbuffer.h
@@ -31,6 +31,7 @@
**---------------------------------------------------------------------------
**
*/
+#pragma once
#include "textures.h"
#include "texturemanager.h"
--
2.39.3

View File

@ -0,0 +1,25 @@
From d229f9bfaf95dd057f116f72704c74134a511ff6 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Ricardo=20Lu=C3=ADs=20Vaz=20Silva?= <ricolvs123@gmail.com>
Date: Wed, 14 Jun 2023 20:33:30 -0300
Subject: [PATCH 51/51] Update service.zs
---
wadsrc/static/zscript/engine/service.zs | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/wadsrc/static/zscript/engine/service.zs b/wadsrc/static/zscript/engine/service.zs
index 26102b0a2..8090fff37 100644
--- a/wadsrc/static/zscript/engine/service.zs
+++ b/wadsrc/static/zscript/engine/service.zs
@@ -56,7 +56,7 @@ class Service abstract
}
static Service Find(class<Service> serviceName){
- return AllServices.GetIfExists(serviceName.GetClassName());
+ return AllServices.Get(serviceName.GetClassName());
}
}
--
2.39.3

View File

@ -0,0 +1,140 @@
# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
inherit cmake desktop xdg flag-o-matic
DESCRIPTION="A modder-friendly OpenGL source port based on the DOOM engine"
HOMEPAGE="https://zdoom.org"
SRC_URI="https://github.com/coelckers/${PN}/archive/g${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="Apache-2.0 BSD BZIP2 GPL-3 LGPL-2.1+ LGPL-3 MIT
non-free? ( Activision ChexQuest3 DOOM-COLLECTORS-EDITION freedist WidePix )"
SLOT="0"
KEYWORDS="~amd64 ~arm64"
IUSE="debug gles2 gtk +non-free openmp +swr telemetry vulkan"
DEPEND="
app-arch/bzip2
media-libs/libjpeg-turbo:0=
media-libs/libsdl2[gles2?,opengl,vulkan?]
media-libs/libvpx:=
media-libs/openal
media-libs/zmusic
sys-libs/zlib
gtk? ( x11-libs/gtk+:3 )"
RDEPEND="${DEPEND}"
S="${WORKDIR}/${PN}-g${PV}"
PATCHES=(
"${FILESDIR}"/${PN}-4.7.1-Introduce-the-BUILD_NONFREE-option.patch
"${FILESDIR}"/0018-indicate-in-the-startup-window-title-when-GZDoom-is-.patch
"${FILESDIR}"/0002-Fix-PMapValueReader-warning-on-Clang-GCC.patch
"${FILESDIR}"/0020-new-characters-for-Doom-s-SmallFont-and-BigFont.patch
"${FILESDIR}"/0032-Mark-const-methods-as-const-in-pseudo-generics.patch
"${FILESDIR}"/0013-fixed-buffer-size-checks-for-raw-textures.patch
"${FILESDIR}"/0005-fixed-GC-FullGC-not-collecting-everything-anymore.patch
"${FILESDIR}"/0016-Fix-MapIterator-X-String-GetValue.patch
"${FILESDIR}"/0037-Update-service.zs.patch
"${FILESDIR}"/0004-fixed-some-bad-character-offsets-in-Doom-s-and-Raven.patch
"${FILESDIR}"/0009-Error-out-instead-of-crashing-for-vector-out-variabl.patch
"${FILESDIR}"/0012-Prevent-important-messages-from-being-accidentally-f.patch
"${FILESDIR}"/0007-Fixed-IsActorPlayingSound-s-default-argument.patch
"${FILESDIR}"/0030-Fixed-a-bug-where-calling-an-invalid-virtual-functio.patch
"${FILESDIR}"/0001-Add-casts-to-F32-Map-MapIterator-functions-to-get-ri.patch
"${FILESDIR}"/0042-Use-simpler-constructor-for-TArray-in-FBlockThingsIt.patch
"${FILESDIR}"/0044-updated-RapidJson-library.patch
"${FILESDIR}"/0023-convert-characters-to-Doom-patch-format.patch
"${FILESDIR}"/0026-Add-Missing-Read-Barriers-to-Map-Get-Functions.patch
"${FILESDIR}"/0049-Fix-BUILD_SHARED_LIBS-build-option-on-Windows.patch
"${FILESDIR}"/0036-fixed-typo-in-string-label.patch
"${FILESDIR}"/0043-Fix-possible-memory-corruption-in-TArray-Delete-inde.patch
"${FILESDIR}"/0021-4-non-letter-characters-for-Chex.patch
"${FILESDIR}"/0045-made-D_WriteUserInfoStrings-memory-safe.patch
"${FILESDIR}"/0010-Fix-StripLeftRight.patch
"${FILESDIR}"/0024-Mark-non-modifying-map-functions-as-const.patch
"${FILESDIR}"/0038-Allow-GAMEINFO-LOAD-to-load-directories.patch
"${FILESDIR}"/0011-Fixed-custom-height-and-width-not-saving.patch
"${FILESDIR}"/0033-Fixing-GLES-mode-to-work-on-real-GLES-hardware-and-O.patch
"${FILESDIR}"/0047-backported-RapidJSON-fix-from-Raze.patch
"${FILESDIR}"/0028-refactor-add-some-logs-to-help-understand-what-is-ha.patch
"${FILESDIR}"/0027-cleanup-of-the-Chex-Quest-small-font.patch
"${FILESDIR}"/0015-Fixed-a-bug-where-static-events-would-fail-to-halt-p.patch
"${FILESDIR}"/0046-avoid-arithmetics-with-literal-null-pointers-in-Pars.patch
"${FILESDIR}"/0040-Fixed-incorrect-parameter-type-in-A_CheckForResurrec.patch
"${FILESDIR}"/0025-Fix-iterator-invalidation-for-Map-Get.patch
"${FILESDIR}"/0014-Impel-people-to-include-demo-mods-in-bug-reports.patch
"${FILESDIR}"/0029-Added-check-for-invalid-class-on-in-VM-instantiation.patch
"${FILESDIR}"/0017-Fix-two-different-portable-names.patch
"${FILESDIR}"/0008-removed-clangformat-from-discord-rpc.patch
"${FILESDIR}"/0050-Add-missing-include-guards.patch
"${FILESDIR}"/0006-Fix-wrong-assumptions-about-actor-initialization-in-.patch
"${FILESDIR}"/0034-Fix-Software-Slope-Rendering-for-non-1.2-pixel-ratio.patch
"${FILESDIR}"/0035-Improve-Services.patch
"${FILESDIR}"/0031-GLES-Fix-first-wipe.patch
"${FILESDIR}"/0048-Fix-value-of-X-Y-when-Y-is-an-int-constant.patch
"${FILESDIR}"/0003-Fix-Quicksave-Rotation.patch
"${FILESDIR}"/0039-fixed-bad-character-offset.patch
"${FILESDIR}"/0041-Fix-TArray-allocating-0-bytes-in-constructor.patch
"${FILESDIR}"/0019-alt-HUD-use-NewSmallFont-for-drawing-player-s-coordi.patch
"${FILESDIR}"/0051-Update-service.zs.patch
"${FILESDIR}"/0022-Fixed-global-TerrainDef-array-not-being-exported-cor.patch
)
src_prepare() {
rm -rf docs/licenses || die
rm -rf libraries/{bzip2,jpeg,zlib} || die
if ! use non-free ; then
rm -rf wadsrc_bm wadsrc_extra wadsrc_widepix || die
fi
cmake_src_prepare
}
src_configure() {
# https://bugs.gentoo.org/858749
filter-lto
append-flags -fno-strict-aliasing
local mycmakeargs=(
-DBUILD_SHARED_LIBS=OFF
-DINSTALL_DOCS_PATH="${EPREFIX}/usr/share/doc/${PF}"
-DINSTALL_PK3_PATH="${EPREFIX}/usr/share/doom"
-DINSTALL_SOUNDFONT_PATH="${EPREFIX}/usr/share/doom"
-DDYN_OPENAL=OFF
-DNO_GTK="$(usex !gtk)"
-DNO_OPENAL=OFF
-DHAVE_VULKAN="$(usex vulkan)"
-DHAVE_GLES2="$(usex gles2)"
-DNO_OPENMP="$(usex !openmp)"
-DZDOOM_ENABLE_SWR="$(usex swr)"
-DBUILD_NONFREE="$(usex non-free)"
)
use debug || append-cppflags -DNDEBUG
use telemetry || append-cppflags -DNO_SEND_STATS
cmake_src_configure
}
src_install() {
newicon src/posix/zdoom.xpm "${PN}.xpm"
make_desktop_entry "${PN}" "GZDoom" "${PN}" "Game;ActionGame"
cmake_src_install
}
pkg_postinst() {
xdg_pkg_postinst
if ! use non-free ; then
ewarn
ewarn "GZDoom installed without non-free components."
ewarn "Note: The non-free game_support.pk3 file is needed to play"
ewarn " games natively supported by GZDoom."
ewarn "A list of games natively supported by GZDoom is available"
ewarn "on the ZDoom wiki: https://zdoom.org/wiki/IWAD"
ewarn
fi
}