GithubHelp home page GithubHelp logo

zonetool / zonetool Goto Github PK

View Code? Open in Web Editor NEW
136.0 10.0 39.0 3.76 MB

zonetool, a fastfile linker for various Call of Duty titles.

License: GNU General Public License v3.0

C++ 94.60% C 4.87% Batchfile 0.01% Lua 0.52%
callofduty modernwarfare callofduty4 iw3 iw4 iw4x iw5 fastfile zonetool linker

zonetool's Introduction

Build status license stars GitHub forks GitHub issues

Plutonium

zonetool

zonetool, a fastfile linker for various Call of Duty titles.

Folder structure

Call of Duty
| - zone_source
| - zonetool
| - zonetool.exe
| - zonetool.dll

Usage

Simply put the output DLL in your game directory and run zonetool.exe (For IW3, rename the DLL to zoneiw3.dll)

Commands

buildzone <zonename> - builds the specified zone.
loadzone <zonename> - loads the specified zone into memory.
dumpzone <zonename> - dumps all assets from the specified zone.

Supported asset types

The following asset types can be linked by ZoneTool:

Asset Type IW4 IW5
PhysPreset ✔️ ✔️
PhysCollmap ✔️ ✔️
XAnimParts ✔️ ✔️
XModelSurfs ✔️ ✔️
XModel ✔️ ✔️
Material ✔️ ✔️
PixelShader ✔️ ✔️
VertexShader ✔️ ✔️
VertexDecl ✔️ ✔️
Techset ✔️ ✔️
Image ✔️ ✔️
Sound ✔️ ✔️
SndCurve ✔️ ✔️
LoadedSound ✔️ ✔️
CollisionMap ✔️ ✔️
ComMap ✔️ ✔️
GlassMap ✔️ ✔️
MapEnts ✔️ ✔️
FxMap ✔️ ✔️
GfxMap ✔️ ✔️
Font ✔️ ✔️
MenuFile
Menu
Localize ✔️ ✔️
Attachment - ✔️
Weapon ✔️ ✔️
FxEffectDef ✔️ ✔️
ImpactFx
RawFile ✔️ ✔️
ScriptFile - ✔️
StringTable ✔️ ✔️
LeaderBoardDef ✔️ ✔️
StructuredDataDef ✔️ ✔️
Tracer ✔️ ✔️
Vehicle
AddonMapEnts

Supported assets for cross-engine porting

The following asset types can be ported across different games:

Asset Type Supported?
PhysPreset ✔️
PhysCollmap ✔️
XAnimParts ✔️
XModelSurfs ✔️
XModel ✔️
Material ✔️
PixelShader ✔️
VertexShader ✔️
VertexDecl ✔️
Techset ✔️
Image ✔️
Sound ✔️
SndCurve ✔️
LoadedSound ✔️
CollisionMap ✔️
ComMap ✔️
GlassMap ✔️
MapEnts ✔️
FxMap ✔️
GfxMap ✔️
Font
MenuFile
Menu
Localize ✔️
Attachment ✔️
Weapon ✔️
FxEffectDef ✔️
ImpactFx
RawFile ✔️
ScriptFile ✔️
StringTable ✔️
LeaderBoardDef
StructuredDataDef ✔️
Tracer ✔️
Vehicle
AddonMapEnts

Supported clients

ZoneTool generated fastfiles are compatible with the following clients:

  • IW4x (IW4 client)
  • Plutonium (IW5 client)
  • Oxygen (IW5 client)

Credits

Special thanks to the following people:

  • Laupetin
  • NTAuthority
  • momo5502
  • TheApadayo
  • localhost
  • X3RX35
  • homura
  • Sofika
  • Gamecheat13

Discord

Join our discord server at https://discord.gg/a6JM2Tv or https://discord.gg/plutonium

Donate

If you like my work, feel free to contribute!

bitcoin: 17YZtqKcFP4WiwMRZB5AE57QR4oa3fnFAM
eth: 0xf4f73463861eD8Ba72ac422B237c53B720c6608A

paypal

zonetool's People

Contributors

aerosoul94 avatar geekidos avatar rektinator avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zonetool's Issues

[BUG] mw3 common.ff

If you try too dumpzone the "common.ff" PC file of mw3 you will get a strange error message that you have not enough free space on your computer.

Is is possible too dump it somehow?

[BUG] how do I use this then if it is just a useless file.

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

General information:

  • OS: [e.g. Windows 7]
  • Version: [e.g. 1.0.118]
  • Linker: [e.g. IW4]

Crash dump
Link referring to the crashdump here (if there is a crashdump)

Additional context
Add any other context about the problem here.

[BUG] custom sound compiling issue

IW4 (v1.0.205 WIN7) zonetool doesn't compile correctly my custom sound.
Zonetool terminal outputs following log:
Parsing loaded_sound "v01d/misc/hello1.wav"...
Sound null.wav not found, it will probably sound like a motorboat ingame!
term

Result: in game with my script (gsc) invoking playLocalSound("hello") or playSound("hello") command my custom sound is not played.

Investigating created hello1.xss file content it seems that sound file pointing is incorrect (null.wav).
Please see picture at description end.

My v01d.csv source file in zone_source dir includes following content:
sndcurve,,$default
loaded_sound,v01d/misc/hello1.wav
sound, hello1

My prepared zone dir and file structure:
|[iw4x]
|-zone_source
|--v01d.csv
|-zonetool
|--loaded_sound
|---v01d
|----misc
|-----hello1.wav

My dumped mod file v01d.ff dir and file struct:
|[iw4x]
|-dump
|--v01d(modname)
|---loaded_sound
|----v01d
|-----misc
|------hello1.wav
|--sounds
|---hello.xss
|--v01d.csv

my dumped mod file v01d.csv content:
loaded_sound,v01d/misc/hello1.wav
sndcurve,$default
loaded_sound,null.wav
sound,hello1
rawfile,v01d

my dumped mod file hello1.xss content:
hello1

[BUG]

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots
If applicable, add screenshots to help explain your problem.

General information:

  • OS: [e.g. Windows 7]
  • Version: [e.g. 1.0.118]
  • Linker: [e.g. IW4]

Crash dump
Link referring to the crashdump here (if there is a crashdump)

Additional context
Add any other context about the problem here.

[BUG] dumpzone problems

You cant dumpzone following fastfiles from mw2 for PC not even after a restart of zonetool.

"contingency.ff", "ending.ff", "estate.ff"
"Could not allocate asset - increase XASSET_ENTRY_POOL_SIZE"

structureddata in IW4

hello,
I dont know how to manipulate playerdatadef i want to enter new weapon entry but dont know how to using zonetool please suggest me. thanks

Refactor the sourcecode of zonetool

The main thing that needs to be refactored is the issue with naming of functions / classes. The naming of the structures can stay the way as it is, as this is taken from the cod engine. The same goes for the internal cod functions that are being used.

Some new design rules for zonetool:

  • Class names should be in CamelCase (interface prefix looks disgusting with snake_case)
  • Function names, variables and function arguments should be in snake_case
  • Some old parsing code from previous versions of zonetool should be refactored, I.E freadint / freadstr
  • Parsing should not manually allocate memory, it should use the memory class
  • Function arguments should not take std::shared_ptrs as arguments, instead, they should be regular pointers. The creation of these pointers should be done through std::make_shared however (memory management purposes)

[FEATURE] Automatic code testing

Implement automated test that builds a default fastfile that contains assets of every type and finally checks if the input data matches the output data.

Shadows on ported maps do not work properly.

When spawning into a ported or relinked map, the shadows in the map appear to be broken. This is most likely caused by a fastfile-pointer issue somewhere in the collision map (clipMap_t) or graphics map (GfxWorld)

partial dumping in IW3,most important file not dumped

zone tool iw3 not dumping completely the most important files like maps, source zone CSV file, vision file, mp folder, lights, images, fx......loaded sounds and sound are partially dumped in all version iw4, iw5, iw3 that makes the tool crash in buildzone ...running on windows 7...also iw3 in duming mode not showing message zone dumped kinda in a loop in a lot of different maps

not properly dumped loaded sound in IW4 and IW5

the wav files are messed up in all dumped version ...in the earlier versions they are properly extracted besides that when I dump a map from IW5 and use the command buildzone in IW4 to generate fastfiles the tool always popup an error that some techsets are missing or crash when doesn't find some loaded sound files same thing happen for converting maps from IW4 to IW5...I never succeeded in converting maps between Iw4 and IW5 always there is some errors

out of memory (low of hard disk space)

when i try to dump a fastfile i get the "error out of memory you are probably low of hard disk space" i am not low on space i tried reinstalling the zonetoo.dll didnt fix it i tried changing to a different hdd with alot more space and that didnt fix it so i dont know what else to do.

Fix IW3 dumping of referenced assets

Dumping of referenced assets does not work currently. The linker will be stuck in an infinite loop when calling DB_FindXAssetHeader.

#20 temporarly fixes it with removing the code that tries to dumping referenced assets. This should maybe be fixed and reimplemented.

[BUG]MW3 Maps Port to MW2 Broken

Mw3 maps are broken shows white might be techset issue as you said techset issue is fixed but it still there also with your latest version creating mw3 map for mw2 it gives error like cg_worldspawn isnt first class.

[FEATURE]

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]

Describe the solution you'd like
A clear and concise description of what you want to happen.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

General information

  • Linker: [e.g. IW4, IW5] # the linkers that are involved in the feature request
  • Type: [e.g. Asset Support, Dumping, Porting, General, QoL (features that make your life easier)] # type of feature request

Additional context
Add any other context or screenshots about the feature request here.

Remove duplicated parse/dump code for certain assets

Remove duplicated parse/dump code for certain assets. Instead use the approach used by XModels/XAnims for example.

How XAnim/XModels dumping works from IW3:

  • First, the asset structures are converted to the IW4 structure. IW3 then calls the IW4 dump function with the converted structure as argument.
  • IW4 converts the structure into the IW5 format and then calls the IW5 dump function for XAnims/XModels

Parsing works the other way around

That way you only have to write the dump/parse code once and the assets will work on all linkers.

[FEATURE] Export ".efx" For Porting

Is it possible to export effect files to ".efx" format (compatible with previous games / porting / modding) as opposed to what the tool exports as ".fxe"?

Came across when exporting things like "common_mp" for IW5.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.