Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: improve building IWD and IPak obj containers #286

Draft
wants to merge 17 commits into
base: main
Choose a base branch
from

Conversation

Laupetin
Copy link
Owner

@Laupetin Laupetin commented Oct 14, 2024

Previously

Currently building IPaks is pretty annoying and building IWDs is not implemented yet.
Previously OBJ containers had to be built as seperate targets.
If they were supposed to include obj data for assets from the built zone they had to include an assetlist which have not been generated automatically and have a fully defined zone file.

// zone_raw/mod/mod.zone
build,mod_ff
build,mod_ipak
// zone_raw/mod/mod_ff.zone
>game,T6
>name,mod
>type,fastfile
>level.ipak_read,mod
include,content
// zone_raw/mod/mod_ipak.zone
>game,T6
>name,mod
>type,ipak
include,content
// zone_raw/mod/content.zone
image,image1
image,image2
xmodel,xmodel1
// ...

Now

This PR tries to unify the building process of fastfile and additional obj containers into a single target.
This aims to improve building of IPaks, IWDs and in the future soundbanks.

// zone_raw/mod/mod.zone
>game,T6
>name,mod
>ipak,mymoddedipakname
>iwd,mymoddediwdname

image,image1
image,image2
xmodel,xmodel1

This is supposed to result in a built mod.ff, mymoddedipakname.ipak and mymoddediwdname.iwd.
The IPak and IWD contain all supported obj data of the assets that follow.

You can switch to another IWD or IPak by redefining >ipak,newipak or >iwd,newiwd respectively.
This will cause all following obj data to go into a new obj container.
This way you can split data.

Specifying the respective metadata key with an empty value >ipak, or >iwd, then you can stop writing data to this obj container.

Closes: #27

@Laupetin Laupetin force-pushed the feature/obj-container-improvements branch 5 times, most recently from 34f54a8 to 252d3b8 Compare October 19, 2024 20:37
@Laupetin Laupetin force-pushed the feature/obj-container-improvements branch from 526ea8c to 20433b7 Compare October 28, 2024 18:42
@Laupetin Laupetin force-pushed the feature/obj-container-improvements branch 2 times, most recently from 900260e to 6295500 Compare November 17, 2024 21:14
@Laupetin Laupetin force-pushed the feature/obj-container-improvements branch 3 times, most recently from 4eb71eb to ffe0600 Compare December 15, 2024 14:12
@Laupetin Laupetin force-pushed the feature/obj-container-improvements branch 3 times, most recently from 5e0e664 to 5e79414 Compare December 22, 2024 21:26
@Laupetin Laupetin force-pushed the feature/obj-container-improvements branch from 8dceadd to f3ee39c Compare December 23, 2024 21:57
@Laupetin Laupetin force-pushed the feature/obj-container-improvements branch from f3ee39c to 835c863 Compare December 23, 2024 22:06
@Laupetin Laupetin force-pushed the feature/obj-container-improvements branch from 4e13645 to bf481eb Compare December 24, 2024 07:53
@Laupetin Laupetin force-pushed the feature/obj-container-improvements branch from 15f64d1 to 8cc4147 Compare December 25, 2024 21:27
@Laupetin Laupetin force-pushed the feature/obj-container-improvements branch from 8cc4147 to 8d6a8d2 Compare December 26, 2024 09:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

IWD project type
1 participant