Specifics:
Our source code (GPL):
http://sourceforge.net/p/chaosesqueanthology/discussion/general/thread/72c4ff80c1/f23d/attachment/darkplaces_workingon_sep_06_2023_aug19cde_SOURCEONLY.tar.gz(relevant files: model_brush.c, relevant function: void
T3d_Attempt_Which_will_Mod_OBJ_Load(dp_model_t mod, void buffer,
void *bufferend)We "just" need to beable to load the t3d and/or unr levels. There is
opensource code to do it:(.unr) UShock(C++): http://sourceforge.net/projects/ushock/
(.t3d) T3d2Map(C++): http://github.com/mildred/t3d2map
Note: Our engine is in the C programming language, We already implemented various other files
(Wolfenstine Enemy Territory, MineTest Obj, BzFlag Obj) additions)
We would like help in adding more formats like the Unreal ones!
Our project (everything is opensource, including media):
Description: https://libregamewiki.org/Chaos_Esque_Anthology
Screenshots: https://chaosesqueteam.itch.io/chaosesque-anthology
Collab: sourceforge.net/p/chaosesqueanthology/discussion/general/
Note: Above is posted our (GPL) engine's source code (C code) , and other opensource source code (C++ code) that are examples of .t3d and .unr map code.
Here is posted a cumulative iso archive of various information and descriptions about .t3d and .unr that have been found and various other opensource projects aswell related.
Suggested by yrex .
Last edit: ChaosEsqueTeam 2023-10-05
Model_brush.c is the main file where new map and model formats are parsed: https://sourceforge.net/p/chaosesqueanthology/code-t3d_attempt_engine/ci/master/tree/model_brush.c
An example one is void Mod_OBJ_Load on line 7562. Which loads the triangle data for an obj file (loads the vertex and then the face data).
It would be nice to load the .unr map type too. These usually contain much less triangle data than any object file: but they are and were high quality maps and were fun.
Then a line is added in Model_shared.c to let the engine know that format is now parsable and what subroutine to use: https://sourceforge.net/p/chaosesqueanthology/code-t3d_attempt_engine/ci/master/tree/model_shared.c
An example of this is in Mod_LoadModel, the on line 575 if (!strcasecmp(FS_FileExtension(mod->name), "obj")) Mod_OBJ_Load(mod, buf, bufend); . Which tells the engine if the file extension is .obj to execute Mod_OBJ_Load.
There are also .h files for both to add the headers of any new subroutine or global variable used.
There is C++ code to load .unr files here: https://sourceforge.net/p/chaosesqueanthology/tickets/2/attachment/UShock_source.tar.bz2
But our engine is C. The C++ code is opensource.
Please help.
This engine can already load PSK files from later unreal formats, and this opensource game has already implemented weapon models and weapon game code similar to many of the unreal and unreal tournament weapons. All opensource (code and media). If .unr model/map loading could be added then all those maps could be enjoyed in a project all opensource programmers could use.
Another resource:
https://bitbucket.org/Xaleros/libunr/src/master/
Libunr (gnu affero public license), attached.
Last edit: ChaosEsqueTeam 2024-03-02
Another resource: (C++)
https://github.com/assimp/assimp/blob/master/code/AssetLib/Unreal/UnrealLoader.cpp
(BSD license)