live2d.d.ts 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. /**
  2. * Unofficial declaration file of Cubism 2.1 core library.
  3. *
  4. * @see {@link http://doc.live2d.com/api/core/cpp2.0j/}
  5. */
  6. declare class Live2D {
  7. static setGL(gl: WebGLRenderingContext, index?: number): void;
  8. static getError(): unknown | undefined;
  9. }
  10. declare class Live2DModelWebGL {
  11. static loadModel(buffer: ArrayBuffer): Live2DModelWebGL;
  12. private constructor();
  13. drawParamWebGL: Live2DObfuscated.DrawParamWebGL;
  14. getModelContext(): Live2DObfuscated.ModelContext;
  15. /**
  16. * @return The width of model's Live2D drawing canvas but NOT the html canvas element.
  17. */
  18. getCanvasWidth(): number;
  19. /**
  20. * @return The height of model's Live2D drawing canvas but NOT the html canvas element.
  21. */
  22. getCanvasHeight(): number;
  23. setTexture(index: number, texture: WebGLTexture): void;
  24. setMatrix(matrix: ArrayLike<number>): void;
  25. setParamFloat(id: string | number, value: number, weight?: number): unknown;
  26. addToParamFloat(id: string | number, value: number, weight?: number): unknown;
  27. multParamFloat(id: string | number, value: number, weight?: number): unknown;
  28. setPartsOpacity(id: string | number, value: number): unknown;
  29. getPartsOpacity(id: string | number): number;
  30. getParamFloat(id: string | number): number;
  31. getParamIndex(id: string): number;
  32. getPartsDataIndex(id: string): number;
  33. getDrawDataIndex(id: string): number;
  34. getTransformedPoints(index: number): Float32Array;
  35. loadParam(): void;
  36. saveParam(): void;
  37. update(): void;
  38. draw(): void;
  39. }
  40. declare class AMotion {
  41. setFadeIn(time: number): unknown;
  42. setFadeOut(time: number): unknown;
  43. updateParam(model: Live2DModelWebGL, entry: Live2DObfuscated.MotionQueueEnt): void
  44. updateParamExe(model: Live2DModelWebGL, time: number, weight: number, MotionQueueEnt: unknown): unknown;
  45. }
  46. declare class Live2DMotion extends AMotion {
  47. private constructor();
  48. static loadMotion(buffer: ArrayBuffer): Live2DMotion;
  49. }
  50. declare class MotionQueueManager {
  51. motions: unknown[];
  52. /**
  53. * @return The size of internal motion arrays.
  54. */
  55. startMotion(motion: AMotion, neverUsedArg?: boolean): number;
  56. stopAllMotions(): void;
  57. isFinished(): boolean;
  58. /**
  59. * @return True if parameters are updated by any motion.
  60. */
  61. updateParam(model: Live2DModelWebGL): boolean;
  62. }
  63. declare class PhysicsHair {
  64. static Src: {
  65. SRC_TO_X: string;
  66. SRC_TO_Y: string;
  67. SRC_TO_G_ANGLE: string;
  68. };
  69. static Target: {
  70. TARGET_FROM_ANGLE: string;
  71. TARGET_FROM_ANGLE_V: string;
  72. };
  73. setup(length: number, regist: number, mass: number): unknown;
  74. addSrcParam(type: string, id: string, scale: number, weight: number): unknown;
  75. addTargetParam(type: string, id: string, scale: number, weight: number): unknown;
  76. update(model: Live2DModelWebGL, time: number): unknown;
  77. }
  78. declare class PartsDataID {
  79. static getID(id: string): string;
  80. }
  81. declare class DrawDataID {
  82. id: string;
  83. }
  84. /**
  85. * Members that have been obfuscated.
  86. */
  87. declare namespace Live2DObfuscated {
  88. class MotionQueueEnt {
  89. isFinished(): boolean;
  90. }
  91. class DrawParamWebGL {
  92. gl: WebGLRenderingContext;
  93. glno: number;
  94. firstDraw: boolean;
  95. culling: boolean;
  96. setGL(gl: WebGLRenderingContext): void;
  97. }
  98. class ModelContext {
  99. clipManager: ClipManager;
  100. /**
  101. * This is basically `DrawData[]`, but not reliable since it's an obfuscated property.
  102. * Always check the type before using it!
  103. */
  104. _$aS?: unknown; // DrawData[]
  105. getDrawData(index: number): DrawData | null;
  106. }
  107. class IDrawData {
  108. getDrawDataID(): DrawDataID;
  109. }
  110. class DrawData extends IDrawData {
  111. getNumPoints?(): unknown;
  112. draw(aN: unknown, aK: unknown, aI: Unknown_aB): void;
  113. }
  114. class Unknown_aB {
  115. baseOpacity: number;
  116. }
  117. class ClipManager {
  118. curFrameNo: number;
  119. getMaskRenderTexture(): number;
  120. setupClip(modelContext: ModelContext, drawParam: DrawParamWebGL): void;
  121. }
  122. }