Commit Graph
100 Commits
Author SHA1 Message Date
yyc12345 d2a9b18ede fix: update BMapSharp virtools type.
- update BMapSharp virtools types.
- fix enum migration generation error.
2026-02-06 10:21:23 +08:00
yyc12345 8bc0792f1e feat: add rust binding framework 2026-02-05 17:18:48 +08:00
yyc12345 6d41e593bc doc: update devnote 2026-02-05 16:40:05 +08:00
yyc12345 10d5d8f002 feat: add new rule in BMapInspector 2026-02-05 14:38:25 +08:00
yyc12345 d3af894d2f feat: add target camera in BMapInspector 2026-02-05 14:32:49 +08:00
yyc12345 1eb9d3f805 feat: add camera support for BMap 2026-02-05 14:12:16 +08:00
yyc12345 11abbe2c35 feat: add new rule for BMapInspector 2026-02-04 22:51:13 +08:00
yyc12345 2240f55964 feat: add new rule in BMapInspector 2026-02-04 21:32:34 +08:00
yyc12345 7b40c64470 feat: add more rules in BMapInspector 2026-02-04 20:46:04 +08:00
yyc12345 58ee7accff feat: add lost ironpad and console color enable for BMapInspector. 2026-02-04 17:11:52 +08:00
yyc12345 c11220d54b feat: finish one rule in BMapInspector.
- finish one rule in BMapInspector.
- fix CKObjectManager find object by name feature.
2026-02-04 17:03:53 +08:00
yyc12345 e6e714f2c9 feat: add note for disabled function in CKCamera 2026-02-03 19:48:45 +08:00
yyc12345 4985c6d3d0 fix: fix github action build error 2026-02-03 19:21:18 +08:00
yyc12345 37904fd5a4 fix: fix github action build error 2026-02-03 16:11:11 +08:00
yyc12345 a654370b82 chore: add lost PIC flag 2026-02-03 15:56:01 +08:00
yyc12345 90fe7ddcaf chore: use new github action build layout 2026-02-03 15:49:47 +08:00
yyc12345 b06bd587f6 feat: add detailed rule in BMapInspector 2026-02-02 22:26:41 +08:00
yyc12345 ebbea473a4 feat: finish BMapInspector framework 2026-02-02 14:17:31 +08:00
yyc12345 def46d1b8f feat: move all print work into main file in BMapInspector 2026-01-31 23:38:43 +08:00
yyc12345 c664eaba0e feat: update cli for BMapInspector 2026-01-31 23:16:50 +08:00
yyc12345 8f5cc51de4 feat: add cli support for BMapInspector 2026-01-31 11:28:03 +08:00
yyc12345 103cb496a2 feat: update BMapInspector 2026-01-30 20:40:21 +08:00
yyc12345 8dfa4bd039 feat: initialize BMapInspector project 2026-01-30 20:23:39 +08:00
yyc12345 6b0d73177b chore: write github action 2026-01-30 16:12:39 +08:00
yyc12345 2f59e16590 feat: change project layout for new added project 2026-01-30 15:23:01 +08:00
yyc12345 2b9c0296d1 refactor: fix BMap build issue.
- fix BMap build issue with new YYCC.
- rename most "General" into "Generic".
- remove useless code.
2026-01-30 14:38:03 +08:00
yyc12345 333ff0ab17 fix: fix unvirt build issue 2026-01-29 21:03:09 +08:00
yyc12345 6f10f96f97 refactor: finish unvirt context refactor 2026-01-29 20:41:20 +08:00
yyc12345 07d180f2cb refactor: finish CmdHelper refactor in Unvirt 2026-01-29 16:46:26 +08:00
yyc12345 ada432fbe7 fix: finish StructFmt refactor in Unvirt 2026-01-29 13:30:27 +08:00
yyc12345 ca4fab4612 fix: fix half struct fmt in unvirt 2026-01-29 11:09:07 +08:00
yyc12345 307676f9c8 refactor: finish unvirt docstring refactor 2026-01-28 21:54:44 +08:00
yyc12345 e53195fa1d refactor: finish migration for libcmo self 2026-01-28 20:05:57 +08:00
yyc12345 52ad4cec99 refactor: rename all general to generic in EnumsAnalyzer 2026-01-28 16:35:42 +08:00
yyc12345 29d98edbdc refactor: basically finish ExpFctsRender 2026-01-28 16:19:59 +08:00
yyc12345 69ac25a70b refactor: finish loading in ExpFctsRender 2026-01-28 13:50:59 +08:00
yyc12345 f5645a06de refactor: finish refactor ExpFctsAnalyzer in BMapBinder 2026-01-28 12:00:40 +08:00
yyc12345 0202266ce5 refactor: finish expfcts extractor refactor 2026-01-27 21:33:19 +08:00
yyc12345 3152d7dd52 refactor: change bmap binding generator name, layout for future refactor 2026-01-27 20:58:29 +08:00
yyc12345 f601782370 fix: finish enums migration
confirm project works as expected comparing before-refactor one.
2026-01-27 17:23:58 +08:00
yyc12345 0419dc3939 fix: finish enums migration 2026-01-27 16:38:29 +08:00
yyc12345 9cb4d50f22 refactor: refactor enum migration but not finished 2026-01-26 22:52:56 +08:00
yyc12345 c68bdce37b refactor: refactor EnumsMigration but not finished 2026-01-26 11:11:58 +08:00
yyc12345 e0e5c9b090 doc: add dev notes for java, antlr and python 2026-01-25 22:53:47 +08:00
yyc12345 fd591f8a62 fix: fix misc naming issue 2026-01-25 21:07:55 +08:00
yyc12345 a79d09a66c refactor: finish all yycc adaption for ck2 except CKContext 2026-01-25 21:03:43 +08:00
yyc12345 97b33b131a refactor: adapt new yycc for ck2 module kernel except CKContext 2026-01-25 20:17:23 +08:00
yyc12345 9319425237 fix: fix VxMath part 2026-01-25 11:35:01 +08:00
yyc12345 09ca976fd9 refactor: refactor VectorGen
- use uv to manage VectorGen
- use std::partial_ordering to replace auto in template because auto is not works for seperated implementation and declaration.
- rename YYCC macro due to the upgrade of YYCC.
2026-01-25 10:37:19 +08:00
yyc12345 5477072d70 refactor: write readme and change layout 2026-01-24 22:43:29 +08:00
yyc12345 940ffeecf2 refactor: re-organize the layout of asset directory and write some readme 2026-01-24 22:38:32 +08:00
yyc12345 440bc63432 refactor: refactor debugging tools 2026-01-24 22:26:49 +08:00
yyc12345 f7acb3bfa9 chore: update doc build 2026-01-24 21:25:10 +08:00
yyc12345 43984685bc refactor: remove build script 2026-01-24 20:13:23 +08:00
yyc12345 c2dafab217 refactor: change repo layout 2026-01-24 19:46:23 +08:00
yyc12345 34de35dd31 fix: fix XContainer 2026-01-24 17:55:57 +08:00
yyc12345 ff2600c8fb fix: fix libcom top headers 2026-01-24 17:49:59 +08:00
yyc12345 9228f343ff chore: change build script to make BMap can be used by CMake
- change script for installing BMap like LibCmo although no one will use it.
- move package install command into respective cmake script.
- change BMap project layout
2026-01-24 17:32:22 +08:00
yyc12345 f9ab66dfc2 chore: update build script
- change project layout for better understanding.
- update build script for more close to standard cmake way.
2026-01-24 17:16:13 +08:00
yyc12345 af6a50c2f9 feat: use cmdline args as the args of BMap bindings.
- update testbench of PyBMap and BMapSharp. use command line arguments as the arguments of testbench, instead of hardcoded variables in code.
2025-01-02 10:59:16 +08:00
yyc12345 0bf0519c4c fix: fix linux build issue
- use std::cos and std::sin instead of std::cosf and std::sinf. it seems that some linux environment do not have these 2 functions in std namespace.
2024-12-31 18:25:44 +08:00
yyc12345 c18ff8f2e3 fix: fix various issues.
- fix convertion loss in CKCamera.
- bump up version to 0.3.0
- use CMake to generate version info header.
- fix annotation about Dassault ComputeCRC error.
- change member field initialization value in CKLight.
2024-12-31 17:48:24 +08:00
yyc12345 fe4a58e864 feat: add CKLight support and apply BMap changes to Python and CSharp bindings.
- add CKLight and CKTargetLight in BMap bindings
- apply BMap changes, for example, the rename of BM3dObject_ prefix to BM3dEntity_, to BMap bindings.
2024-12-30 11:28:59 +08:00
yyc12345 eaeaf956b5 fix: fix type error in BMap type check macro. 2024-12-29 10:13:56 +08:00
yyc12345 6bb2421e1f feat: add CKLight into BMap.
- add CKLight support in BMap.
- move the implementation of BMFile into CPP file from HPP file.
- swap the order of the implementation of BMFile and BMMeshTransition to correspond with the order of their declaration.
- add document for some member functions of BMFile.
2024-12-29 10:05:13 +08:00
yyc12345 ead22d13ff fix: remove useless void in function parameter list
- according to c++ standard, single void in function parameter is equal to empty parameter list. for removing this syntax which may cause misunderstanding (becuase in C, they are different I guess), I replace all `(void)` to `()`.
2024-12-28 22:09:26 +08:00
yyc12345 aeb2e86b14 fix: fix the issue when loading new version created files.
- Fix the CRC check issue when loading new Virtools created files (> 4.0)
	* This is caused by a bug written by stupid Virtools programmer. For more detail, see code annotation.
	* After this patch, LibCmo have ability that load new Virtools created files including max2nmo exported NMO, Virtools 5.0 created CMO and etc.
2024-12-28 16:29:35 +08:00
yyc12345 86b27557c9 feat: add 4 new added classes in Unvirt.
- fix a fatal issue that make the output message from CKContext is empty.
- fix argument type error for CKCamera::GetAspect and CKCamera::SetAspect.
- add enums annotation and struct diaplay function in Unvirt for showing 4 new added classes.
2024-12-25 13:58:39 +08:00
yyc12345 eef3a352d9 feat: finish CKTargetCamera and CKTargetLight.
- finish all new added 4 classes, CKCamera, CKTargetCamera, CKLight, CKTargetLight. but no test.
2024-12-25 11:12:23 +08:00
yyc12345 b74f1b965c feat: finish CKCamera 2024-12-25 09:07:02 +08:00
yyc12345 c235524403 fix: fix 2 issues
- rename float to CKFLOAT in VxMatrix.
- move CKLightData struct to CKDefine.hpp because it not a private struct used by CKLight, but a CKRasterizer struct.
2024-12-25 08:28:42 +08:00
yyc12345 4bfc4782b5 refactor: refactor VxVector and its generator.
- refactor VxVector-like struct. split their declaration and implementatio because their implementation is too long. and occupy too much space in header.
- refactor VxVector struct generator. use jinja2 template engine, rather ran hand-written format string to make it is easy to read (although it still tough when first reading).
- add unary operator overloading for VxVector-like struct.
- add some VxMatrix functions which are essential to CKCamera.
- rename VxMatrix::ResetToIdentity to VxMatrix::SetIdentity to make it same as original Virtools SDK.
- the spaceship overloading with auto return value still may have bugs. please watch it carefully.
2024-12-24 23:37:04 +08:00
yyc12345 3eeb1f6cb6 feat: finish CKLight class.
- basically finish CKLight but no test now.
2024-12-24 10:59:19 +08:00
yyc12345 ff5a590cf4 feat: add basic layout for CKLight and CKCamera.
- add basic class layout and member function for CKLight and CKCamera.
- register CKLight and CKCamera in CKGlobals to let CK engine can recognize them.
- modify EnumsMigration to add new 2 enums for CKLight and CKCamera.
2024-12-23 22:21:50 +08:00
yyc12345 d29d40448b fix: fix CMake install path issue.
- fix the wrong reference in CMake script which install lib target into wrong directory.
- add file, change CMake script and modify header file for preparing develop of CKLight and CKCamera.
- fix doc typo.
2024-12-23 09:23:46 +08:00
yyc12345 305c0b1b65 doc: fix README 2024-11-08 15:17:45 +08:00
yyc12345 6f7202a86b feat: improve BMap bindings.
- Add IEquatable<T> interface for BMapSharp 2 abstract base classes to make they can be used in HashSet or Dictionary.
- Add corresponding testbench for this new added interface to make sure it works.
- Also add set and dict test for PyBMap although it has been proven works.
2024-11-08 14:58:50 +08:00
yyc12345 512729ed05 feat: improve PyBMap
- re-raise exception for run out of next() function to make end user know this is their fault, not PyBMap.
- write some primitive type getter setter for short code and less latent bugs.
- remove bmfile parameter in BMMeshTrans::Parse.
2024-11-07 20:56:16 +08:00
yyc12345 e2e7121c16 feat: update PyBMap and its testbench
- update PyBMap testbench according to BMapSharp testbench.
- use some wrapper function to fetch commonly used type in PyBMap to reduce line count.
- re-place some utils functions in PyBMap.
2024-11-07 17:28:11 +08:00
yyc12345 9dd46b88d9 dep: update stb.
- use a nasty way to update stb-image library (do not use new resize library, use moved depracted one. because idk how to program with new one. that lack doc).
2024-11-04 17:19:51 +08:00
yyc12345 7e7b21544d chore: update build script. 2024-11-04 14:58:53 +08:00
yyc12345 e72102496b fix: update YYCC dependency
- move EnumsHelper into YYCC because it is widely used.
- rename all calling to EnumsHelper due to this modification.
- add version checker in code to make sure that user use correct YYCC library to compile.
- modify some include syntax because the include directory layout changes of YYCC.
- update CMake script to resolve the bug that we can not export LibCmo (thanks doyaGu and BLumia).
2024-11-03 19:05:27 +08:00
yyc12345 73f1a1f829 fix: fix fatal layout issue about VxColor.
- fix wrong memory layout of VxColor.
2024-11-01 13:31:03 +08:00
yyc12345 33dc9a54be feat: finish BMapSharp
- basically finish BMapSharp bindings however done test does not cover all scenarios.
2024-11-01 11:13:05 +08:00
yyc12345 6eb95ddd1f feat: update BMapSharp
- finish BMMesh bindings.
- finish a half of BMMeshTrans bindings.
- use getGenericValue and setGenericValue for most bindings.
2024-11-01 10:48:45 +08:00
yyc12345 e8fedc8bff feat: update BMapSharp
- update virtools type defines in BMapSharp. expand its ctor for convenient usage.
- finish BMMaterial bindings.
- create a generic value getter setter for convenient calling.
- fix codegen error of BMapSharp (accident fallthrough for CKBYTE type and wrong marshal type for enum type).
2024-10-31 17:15:06 +08:00
yyc12345 74268d4ad4 feat: update BMapSharp
- finish BMTexture bindings and quater of BMMaterial.
- fix compile manual.
2024-10-30 15:41:17 +08:00
yyc12345 f7644319f0 doc: update build manual 2024-10-29 17:44:55 +08:00
yyc12345 73cda9f905 feat: update BMapSharp
- add struct assigner and iterator but still has bugs (struct padding issue)
- add function bindings for BM3dObject and BMGroup.
- add basic ctor and dtor for BMMeshTrans.
2024-10-29 15:12:00 +08:00
yyc12345 4d04b38d52 feat: continue improving BMapSharp.
- add BMFileWriter in BMapSharp.
2024-10-27 11:41:49 +08:00
yyc12345 623334f863 feat: update BMapSharp.
- update the function calling in BMapSharp.BMFileReader. (hope JIT can optimize my bad code served for beauty)
- remove outdated content in COMPILE.md
2024-10-24 16:39:11 +08:00
yyc12345 f781bcd63d doc: fix compile manual
- move compile infos into an individual file.
- remove outdated compile manual, use latest one instead.
2024-10-18 15:04:54 +08:00
yyc12345 b319e0fcb6 feat: finish basic function of BMapSharp.
- fix weird C sharp behavior about calling FreeNativeData without calling ManagedToNative, which cause segment fault.
- disable unhandled exception handler in debug mode for BMap.
- change all associated code involving these issues.
2024-10-05 11:58:25 +08:00
yyc12345 3566efa36a feat: update custom marshaler in BMapSharp 2024-10-04 21:45:04 +08:00
yyc12345 334580acdc feat: update BMapSharp code 2024-10-03 21:39:36 +08:00
yyc12345 2ce5203ac7 feat: update BMap bindings
- add testbench file in BMap bindings.
- reorganise BMap bindings code.
- write some BMapSharp binding code.
2024-10-02 13:33:32 +08:00
yyc12345 5e5eed03f5 feat: finish c sharp custom marshaler.
- Finish BMapStringArrayMarshaler but not test.
2024-09-21 22:01:25 +08:00
yyc12345 7c88b3614a fix: update BMap bindings
- send message in console if PyBMap fail to load native dynamic library. this is good for user experience.
- remove snippet from BMap bindings generator. We now insert generated code manually.
- fix C sharp code generation issue in BMap bidnings generator.
- add some content for BMapSharp.
2024-09-21 16:50:53 +08:00
yyc12345 8ef1c6e30a fix: fix linux build issue 2024-08-27 20:48:27 +08:00
yyc12345 85ff80cbf7 fix: fix Bmap build issue. add banner for Unvirt 2024-08-27 17:13:52 +08:00