Skip to content
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
54484e6
Import vendored zip library for mod loading
Vagabond Sep 13, 2025
9677023
WIP
Vagabond Sep 14, 2025
d4928ea
Enumerate zip files in mod directories and their contents
Vagabond Sep 19, 2025
21127f2
Get background overrides working and make progress on sprites
Vagabond Sep 21, 2025
fb7cb59
Support loading sprites from mods
Vagabond Sep 21, 2025
afa945b
Support music mods
Vagabond Sep 22, 2025
ae15300
Support multiple music remixes co-existing
Vagabond Sep 22, 2025
6356348
Allow selection of the music source (originals/remixes/both)
Vagabond Sep 22, 2025
215695b
Support parsing bk/af animdata.ini and fighter header.ini from mods
Vagabond Sep 22, 2025
ecc61b3
Fix minizip build on Windows
Nopey Sep 23, 2025
775498b
Fix clang-tidy issue and a leak
Vagabond Sep 23, 2025
0dc42c6
Try to fix another clang-tidy issue in miniz
Vagabond Sep 23, 2025
77b8ebd
Handle "common" sprite loads and fix some naming to match wiki
Vagabond Sep 23, 2025
2c80b9a
Add fallback "common" loads for AF/BK animdata
Vagabond Sep 23, 2025
b8dbd2d
Switch to filename, not id lookups, fix sprite load bug
Vagabond Sep 23, 2025
173d42b
Remove unused var
Vagabond Sep 23, 2025
d91ef7f
Cleanup some leaks
Vagabond Sep 24, 2025
0846c04
Try to fix #1317
katajakasa Oct 9, 2025
dd43f7e
Improvements to mod loading
Vagabond Oct 6, 2025
a04d4cf
Sort mods by load order and dedup by version
Vagabond Oct 6, 2025
ddc5fc3
WIP on tournament support
Vagabond Oct 9, 2025
255de71
Fixes and clang-tidy issues
Vagabond Oct 10, 2025
f6e07d7
More tidy
Vagabond Oct 10, 2025
4360f52
Fix another leak
Vagabond Oct 10, 2025
3c31c48
Switch to omf_strncasecmp
Vagabond Oct 10, 2025
bea820e
Switch to omf_strcasecmp
Vagabond Oct 11, 2025
3420969
Constrain pilot photo select to PLAYERS.PIC
Vagabond Oct 11, 2025
cbffbf8
Support replacing PLAYER.pic portraits via mods
Vagabond Oct 12, 2025
64636ec
Allow larger sd_sprites by making len field u32
Vagabond Oct 14, 2025
a98e5c3
Support portrait width/height in ini files, load HAR palettes
Vagabond Oct 15, 2025
239b567
Allow for integer multiple sizes of assets (2x 4x etc) and pick best
Vagabond Jan 2, 2026
2ab7473
Better resolution rounding
Vagabond Feb 12, 2026
398968e
Fix the leaks
Vagabond Feb 13, 2026
5544ae6
fmt
Vagabond Feb 13, 2026
abd999f
Death to strcmp, all hail str_equal_c
Vagabond Feb 13, 2026
892b460
Tidy
Vagabond Feb 13, 2026
89b6e6e
Reorg headers, tidy and fmt
Vagabond Feb 13, 2026
5439c51
Prevent most mod assets loading during netplay
Vagabond Feb 13, 2026
45cb6a9
Some review comments
Vagabond Feb 13, 2026
5c31ddb
More review comments
Vagabond Feb 13, 2026
d0c9efb
More memory leak fixes from review
Vagabond Mar 28, 2026
c13290c
Parse hit coordinates and sprite origin from hitcoord.png
Vagabond Mar 30, 2026
60997d4
free -> omf_free
Vagabond Mar 30, 2026
fa9576e
add rb_free
Vagabond Mar 30, 2026
7c2df61
Fix signature of fallback function def
Vagabond Mar 30, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Import vendored zip library for mod loading
  • Loading branch information
Vagabond committed Feb 12, 2026
commit 54484e6fdbe07c6ce461bdae0d713c4f58526299
7 changes: 4 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -411,10 +411,10 @@ endif()

# Make sure libraries are linked
target_link_libraries(openomf PRIVATE ${CORELIBS})
target_link_libraries(openomf PRIVATE openomf::argtable openomf::SDL2main openomf::epoxy)
target_link_libraries(openomf PRIVATE openomf::argtable openomf::zip openomf::SDL2main openomf::epoxy)
foreach(TARGET ${TOOL_TARGET_NAMES})
target_link_libraries(${TARGET} PRIVATE ${CORELIBS})
target_link_libraries(${TARGET} PRIVATE openomf::argtable openomf::SDL2main openomf::epoxy)
target_link_libraries(${TARGET} PRIVATE openomf::argtable openomf::zip openomf::SDL2main openomf::epoxy)
endforeach()

# Testing stuff
Expand Down Expand Up @@ -462,7 +462,8 @@ set(DOC_FILES
README.md
LICENSE
resources/gamecontrollerdb/LICENSE.gamecontrollerdb
src/vendored/LICENSE.argtable3
src/vendored/argtable/LICENSE.argtable3
src/vendored/zip/LICENSE.zip
)

# Installation
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,8 @@ for more information.

OpenOMF contains pieces of other software, which have licenses of their own:
- resources/gamecontrollerdb.txt is under [zlib license](resources/gamecontrollerdb/LICENSE.gamecontrollerdb)
- src/vendored/argtable3 is under multiple licenses, please see [LICENSE](src/vendored/LICENSE.argtable3)
- src/vendored/argtable3 is under multiple licenses, please see [LICENSE](src/vendored/argtable/LICENSE.argtable3)
- src/vendored/zip and miniz is under the MIT license, please see [LICENSE](src/vendored/zip/LICENSE.zip)

And finally, the icon resources in resources/icons fall under CC-BY 4.0 license; please see
[LICENSE](resources/icons/LICENSE) and https://creativecommons.org/licenses/by/4.0/ for details.
Expand Down
6 changes: 5 additions & 1 deletion cmake-scripts/Dependencies.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,11 @@ endif()

# argtable
add_library(openomf::argtable INTERFACE IMPORTED)
target_include_directories(openomf::argtable INTERFACE "${CMAKE_SOURCE_DIR}/src/vendored")
target_include_directories(openomf::argtable INTERFACE "${CMAKE_SOURCE_DIR}/src/vendored/argtable")

# zip
add_library(openomf::zip INTERFACE IMPORTED)
target_include_directories(openomf::zip INTERFACE "${CMAKE_SOURCE_DIR}/src/vendored/zip")

# enet
add_library(openomf::enet INTERFACE IMPORTED)
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
19 changes: 19 additions & 0 deletions src/vendored/zip/LICENSE.zip
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
All Rights Reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.
Loading