Add rayman2 source files

This commit is contained in:
2024-09-18 02:33:44 +08:00
parent bcc093f8ed
commit fb036c54fd
14339 changed files with 2596224 additions and 0 deletions

View File

@@ -0,0 +1,9 @@
:Base ANIMVIEW.HLP
1 ANIMVIEW
2 Animation Viewer Help=IDJ_ANIMVIEWER@ANIMVIEW.HLP>main
2 Accessing Animation Viewer=IDJ_ACCESSANIMVIEWER@ANIMVIEW.HLP>main
2 Animation Viewer Interface=IDJ_ANIMVIEWERINTERFACE@ANIMVIEW.HLP>main
2 Loading an animation=IDJ_LOADINGANIMATION@ANIMVIEW.HLP>main
2 Playing an animation=IDJ_PLAYINGANIMATION@ANIMVIEW.HLP>main
2 Reported Bugs=IDJ_REPORTEDBUGS@ANIMVIEW.HLP>main
2 Frequently Asked Questions=IDJ_FAQ@ANIMVIEW.HLP>main

Binary file not shown.

View File

@@ -0,0 +1,13 @@
Microsoft (R) Help Compiler
HCRTF 4.01.0950
Copyright (c) Microsoft Corp 1990 - 1995. All rights reserved.
animview.hpj
7 Topics
11 Jumps
12 Keywords
0 Bitmaps
File size: 12,368
Compile time: 0 minutes, 0 seconds
0 notes, 0 warnings

Binary file not shown.

View File

@@ -0,0 +1,36 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
** Help Context Identifiers for ANIMVIEW.HH
** Generated by RoboHELP
**
** RoboHELP observes a polite protocol for dealing with this file.
** It will add new identifiers for new Topic IDs that are
** added to the RTF file with the same name.
**
** RoboHELP will also preserve comments which are placed in this
** file, so documentation staff can insert notes to those crazy
** developers and vice versa.
**
** However, the numeric values of the identifiers are stored only
** in this file. Therefore, if you change the numeric value here,
** it is changed for good. RoboHELP will not try to change it back.
**
** Normally, RoboHELP will remove the symbols for Topic IDs
** which have been removed from the .RTF file. However, you can
** set a checkbox in your project setup to prevent RoboHELP from
** doing this. You may want to do this and make use of the Alias
** capability of the help compiler.
**
*/
#define IDJ_ANIMVIEWER 1
#define IDJ_ACCESSANIMVIEWER 2
#define IDJ_ANIMVIEWERINTERFACE 3
#define IDJ_LOADINGANIMATION 4
#define IDJ_PLAYINGANIMATION 5
#define IDJ_REPORTEDBUGS 6
#define IDJ_FAQ 7
#define IDP_FAMILYLISTBOX 8
#define IDP_ANIMATIONLISTBOX 9
#define IDP_ME 11
#define IDP_ANIMINFO 14
#define IDP_MESSAGEERROR 15

View File

@@ -0,0 +1,99 @@
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; Help Project File for ANIMVIEW
;
; This file is maintained by RoboHELP. Do not modify this file directly.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
[OPTIONS]
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; The Options section contains the following information:
;
; The optional BMROOT=entry sets the directories in which the Help Compiler
; will look for graphics.
;
; The CONTENTS=tells WinHelp which topic contains the contents.
;
; The TITLE=is displayed in the Title Bar of WINHELP.EXE
;
; The BUILD=setting allows you to create different Help systems from
; the same source file.
;
; The COMPRESS=option tells the Help Compiler how much to compress
; the Help file.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;BMROOT=C:\ACP\DLLBIBLI\TOOLS\ANIM\DOC\HELPDATA
TITLE=Animation Viewer Help
COMPRESS=0
NOTES=1
OLDKEYPHRASE=NO
OPTCDROM=0
REPORT=YES
BMROOT=C:\ACP\DLLBIBLI\TOOLS\ANIM\DOC\HELPDATA\BITMAP
CONTENTS=IDJ_ANIMVIEWER
ERRORLOG=C:\acp\dllbibli\tools\Anim\doc\HelpData\ANIMVIEW.ERR
COPYRIGHT=Animation Viewer Help version 1.00 <20>Ubisoft 1997
BMROOT=C:\ACP\DLLBIBLI\TOOLS\ANIM\DOC\HELPDATA
[BUILDTAGS]
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; The Build Tags section specifies to the Help Compiler the names
; of all the valid build tags used in this Help project.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
WINDOWS
[CONFIG]
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; The Config section defines macros which will run at startup.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
CreateButton(IDB_AUTHOR,"Mail to author",ExecFile(animbug.msg, ,SW_SHOW ,IDP_MESSAGEERROR))
CreateButton(IDB_SOMMAIRE,"Sommaire",JumpID(animview.hlp,IDJ_ANIMVIEWER))
[FILES]
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; The Files section specifies the RTF files for a project.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
ANIMVIEW.RTF
[ALIAS]
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; The Alias section sets up aliases for Topic IDs in your Help system.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
[MAP]
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; The Map section specifies the project HH files.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
#include <ANIMVIEW.HH>
#include <C:\acp\dllbibli\tools\Anim\inc\ANIMVIEW.HH>
[BITMAPS]
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; The Bitmaps section specifies the referenced bitmaps used in
; your help system.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
[WINDOWS]
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; The Windows section contains all of the information about the windows
; in a Help project.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
;Gloss="Glossary",(100,100,350,350),0,(255,255,255),(255,255,255)
(w95sec)="Animation Viewer Help",(92,51,593,849),21252,(255,255,224),(255,255,224),f2
main="",(0,0,819,727),29188,,(255,128,128),f0
[BAGGAGE]
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
; The Baggage section specifies any additional files.
;* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *

View File

@@ -0,0 +1,32 @@
[Project]
Help Compiler=HCW.EXE
Remove Unused=1
Version=512
ConvertedFromV1=0
HasGlossary=0
Automatic Map Files=1
NextFile=2
IncludeRTF=0
Extra Language=0
[Document Files]
ANIMVIEW.DOC=1
[File Properties]
HasProperties=1
BrowseType=0
AutoMapFile=1
StartingWith=0
IncrementBy=20
NextTopicNumber=0
StartingNumber=1
BrowseString=ANIMVIEW:0
DefaultBuildTag=
[.RBH]
CopyTo=1
PreBatch=
PostBatch=
Dir0=C:\acp\dllbibli\tools\Anim\Anim
CurrentDir=C:\acp\dllbibli\tools\Anim\inc
AutoFixRTF=0

Binary file not shown.

View File

@@ -0,0 +1,135 @@
{\rtf1\ansi \deff7\deflang1033{\fonttbl{\f5\fswiss\fcharset0\fprq2 Arial;}{\f7\fswiss\fcharset0\fprq2 MS Sans Serif;}{\f27\fnil\fcharset2\fprq2 Wingdings;}}{\colortbl;\red0\green0\blue0;\red0\green0\blue255;
\red0\green255\blue255;\red0\green255\blue0;\red255\green0\blue255;\red255\green0\blue0;\red255\green255\blue0;\red255\green255\blue255;\red0\green0\blue128;\red0\green128\blue128;\red0\green128\blue0;\red128\green0\blue128;\red128\green0\blue0;
\red128\green128\blue0;\red128\green128\blue128;\red192\green192\blue192;}{\stylesheet{\li115\ri130\sa48\widctlpar \f7\fs16 \snext0 Normal;}{\s1\li113\ri130\sb80\sa120\keepn\widctlpar \b\f7\fs28\kerning28 \sbasedon0\snext0 heading 1;}{
\s2\li360\ri360\sb120\sa48\widctlpar \b\f7 \sbasedon0\snext0 heading 2;}{\s3\li115\ri130\sb240\sa60\keepn\widctlpar \b\f7 \sbasedon0\snext0 heading 3;}{\s4\li360\ri130\sa48\widctlpar \f7 \sbasedon0\snext0 heading 4;}{\s5\li115\ri130\sb240\sa60\widctlpar
\f7\fs22 \sbasedon0\snext0 heading 5;}{\s6\li115\ri130\sb240\sa60\widctlpar \i\f7\fs22 \sbasedon0\snext0 heading 6;}{\s7\li115\ri130\sb240\sa60\widctlpar \f7\fs16 \sbasedon0\snext0 heading 7;}{\s8\li115\ri130\sb240\sa60\widctlpar \i\f7\fs16
\sbasedon0\snext0 heading 8;}{\s9\li115\ri130\sb240\sa60\widctlpar \i\f7\fs18 \sbasedon0\snext0 heading 9;}{\*\cs10 \additive Default Paragraph Font;}{\s15\li115\ri130\sa48\widctlpar \f7\fs20 \sbasedon0\snext15 footnote text;}{\*\cs16 \additive\super
\sbasedon10 footnote reference;}{\s19\li302\ri130\sa48\widctlpar \f7\fs16 \sbasedon0\snext19 Topic Text Indent;}{\s20\li720\ri130\sa48\widctlpar \f7\fs16 \sbasedon0\snext20 Normal Indent;}{\s21\li113\ri130\sb80\sa120\keepn\widctlpar \b\f7\fs28\kerning28
\sbasedon1\snext0 Tip/Note Heading;}{\s22\li302\ri130\sa48\widctlpar \f7\fs16 \sbasedon0\snext22 Tip/Note Text;}{\s23\fi-187\li302\ri130\sa48\widctlpar\tx302{\*\pn \pnlvl11\pnf27\pnfs10\pnstart1\pnindent187\pnhang{\pntxtb n}}\f7\fs16 \sbasedon22\snext23
Tip/Note Text Bulleted;}{\s24\fi-187\li302\ri130\sa48\widctlpar\tx302{\*\pn \pnlvl11\pnf27\pnfs10\pnstart1\pnindent187\pnhang{\pntxtb n}}\f7\fs16 \sbasedon0\snext24 Topic Text Bulleted;}{\s25\fi-187\li302\ri130\sa48\widctlpar\tx302{\*\pn \pnlvl10
\pndec\pnb0\pni0\pnf5\pnfs16\pnstart1\pnindent187\pnhang}\f7\fs16 \sbasedon0\snext25 Topic Text Numbered;}}{\info{\title Help Project generated with RoboHELP\'ae 95.}{\author Vincent Lhullier}{\operator Vincent Lhullier}
{\creatim\yr1997\mo3\dy17\hr14\min42}{\revtim\yr1997\mo3\dy17\hr14\min57}{\version3}{\edmins7}{\nofpages13}{\nofwords895}{\nofchars5104}{\*\company PARTICULIER}{\vern57431}}
\widowctrl\ftnbj\aenddoc\noextrasprl\prcolbl\cvmme\sprsspbf\brkfrm\swpbdr\hyphcaps0\fracwidth \fet0{\*\template C:\\MSOffice\\Modeles\\Robohelp.dot}\sectd \linex0\headery709\footery709\colsx709\endnhere {\*\pnseclvl1\pnucrm\pnstart1\pnindent720\pnhang
{\pntxta .}}{\*\pnseclvl2\pnucltr\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl3\pndec\pnstart1\pnindent720\pnhang{\pntxta .}}{\*\pnseclvl4\pnlcltr\pnstart1\pnindent720\pnhang{\pntxta )}}{\*\pnseclvl5\pndec\pnstart1\pnindent720\pnhang{\pntxtb (}
{\pntxta )}}{\*\pnseclvl6\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl7\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl8\pnlcltr\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}{\*\pnseclvl9
\pnlcrm\pnstart1\pnindent720\pnhang{\pntxtb (}{\pntxta )}}\pard\plain \s1\li113\ri130\sb80\sa120\keepn\widctlpar \b\f7\fs28\kerning28 {\cs16\super #{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDJ_ANIMVIEWER}} {
\cs16\super ${\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super $} Animation Viewer Help}} {\cs16\super K{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super K} Animation Viewer; Animation}} {\cs16\super +
{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super +} ANIMVIEW:000}} Animation Viewer Help
\par \pard\plain \li115\ri130\sa48\widctlpar \f7\fs16 This help file describe how to use interface of animation viewer.
\par The animation viewer permit to play through editor\rquote s interface an animation. You cannot modify an animation.
\par
\par {\uldb\cf11 Accessing Animation Viewer}{\v IDJ_ACCESSANIMVIEWER}
\par {\uldb\cf11 Animation Viewer Interface}{\v IDJ_ANIMVIEWERINTERFACE}
\par \tab {\uldb\cf11 Loading an animation}{\v IDJ_LOADINGANIMATION}
\par \tab {\uldb\cf11 Playing an animation}{\v IDJ_PLAYINGANIMATION}
\par {\uldb\cf11 Closing Animation Viewer}{\v IDJ_ACCESSANIMVIEWER}
\par
\par {\uldb\cf11 Reported bugs}{\v IDJ_REPORTEDBUGS}
\par {\uldb\cf11 Frequently Asked Questions}{\v IDJ_FAQ}
\par
\par \{bmc OPEN.BMP\} To access help file from Animation viewer use \{button Help,\} button or activate interface window, move mouse pointer to an interface control and press {\*\bkmkstart IMAGE}{\*\bkmkend IMAGE}\{button F1,\} key.
\par \pard\plain \s1\li113\ri130\sb80\sa120\keepn\widctlpar \b\f7\fs28\kerning28 \page {\cs16\super #{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDJ_ACCESSANIMVIEWER}} {\cs16\super ${\footnote \pard\plain
\s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super $} Accessing Animation Viewer}} {\cs16\super K{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super K} Accessing; Animation Viewer}} {\cs16\super +{\footnote \pard\plain
\s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super +} ANIMVIEW:010}} Accessing / Closing Animation Viewer
\par \pard\plain \li115\ri130\sa48\widctlpar \f7\fs16 When animation viewer is closed select in menu tools the option \ldblquote \~open animation viewer\~\rdblquote to open it.
\par When animation viewer is opened select in menu tools the option \ldblquote \~close animation viewer\~\rdblquote to close it.
\par When opening animation viewer, a 3D view appear and {\uldb\cf11 animation viewer interface}{\v IDJ_ANIMVIEWERINTERFACE} is displayed in a bottom window
\par \pard\plain \s1\li113\ri130\sb80\sa120\keepn\widctlpar \b\f7\fs28\kerning28 \page {\cs16\super #{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDJ_ANIMVIEWERINTERFACE}} {\cs16\super ${\footnote \pard\plain
\s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super $} Animation Viewer Interface}} {\cs16\super K{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super K} Interface; Animation Viewer}} {\cs16\super +{\footnote \pard\plain
\s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super +} ANIMVIEW:020}} Animation Viewer Interface
\par \pard\plain \li115\ri130\sa48\widctlpar \f7\fs16 The animation viewer is composed by two window. One contains the graphical representation of the animation, it\rquote
s the upper window wich is a 3D View. The bottom window contains the interface to access each animation. This help file doesn\rquote t describe use of
3D view because it is managed like the general 3D view (see editor.hlp). The bottom window is specific to the animation viewer and look like this\~:
\par
\par (move mouse on graphic to select part of interface you want help on)
\par
\par \{bmc AVINTERF.SHG\}
\par
\par this interface is composed by
\par {\ul\cf11 the family list}{\v IDP_FAMILYLISTBOX}
\par {\ul\cf11 the animation list}{\v IDP_ANIMATIONLISTBOX}
\par {\ul\cf11 some animation information}{\v IDP_ANIMINFO} (frame number, channel number)
\par a {\uldb\cf11 load button \{bmc BTLoad.bmp\}}{\v IDJ_LOADINGANIMATION}
\par some control to {\uldb\cf11 play animation}{\v IDJ_PLAYINGANIMATION}
\par
\par All component of this interface are never visible or active at same time. For example playing control could not be activate when load button is visible.
\par \pard\plain \s1\li113\ri130\sb80\sa120\keepn\widctlpar \b\f7\fs28\kerning28 \page {\cs16\super #{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDJ_LOADINGANIMATION}} {\cs16\super ${\footnote \pard\plain
\s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super $} Loading an animation}} {\cs16\super K{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super K} Loading; Animation}} {\cs16\super +{\footnote \pard\plain
\s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super +} ANIMVIEW:030}} Loading an animation
\par \pard\plain \li113\ri130\sa48\keepn\widctlpar \f7\fs16 see also {\uldb\cf11 reported bugs}{\v IDJ_REPORTEDBUGS}
\par \pard \li115\ri130\sa48\widctlpar Some animation are already in memory, the other not. They are differencied by the font used to display animation name in the {\ul\cf11 animation list box}{\v IDP_ANIMATIONLISTBOX}
. An already loaded animation appears in bold font.
\par When an animation is not in memory a button \{bmc BTLoad.bmp\} appear, click on this button to load the animation in memory. Tou can also double click in an animation name in anim
ation list box to load it. While animation is loading the text on button change to \{bmc BTLoadin.bmp\} and mouse cursor change too. When load operation ends the button disappear, cursor becomes again normal and first frame of animation appear in 3D view.
\par Sometimes when animation you want to load is large, the operation could take a long time, simply wait.
\par
\par
\par \pard\plain \s1\li113\ri130\sb80\sa120\keepn\widctlpar \b\f7\fs28\kerning28 \page {\cs16\super {\*\bkmkstart ANCHOR}#{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDJ_PLAYINGANIMATION}} {\cs16\super ${\footnote
\pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super $} Playing an animation}} {\cs16\super K{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super K} Playing Animation}} {\cs16\super +{\footnote \pard\plain
\s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super +} ANIMVIEW:040}}{\*\bkmkend ANCHOR} {\*\bkmkstart TITLE}Playing an animation{\*\bkmkend TITLE}
\par \pard\plain \li115\ri130\sa48\widctlpar \f7\fs16 When a loaded animation is selected (it\rquote s name appears in bold font in animation list) first frame of animation appears in 3D view window. Right group of buttons give\rquote
s you some control on animation. This group is composed by the following controls
\par
\par \{bml SBFrame.bmp\}
\par ScrollBar & Current frame
\par In this left little box the index of the current displayed frame is shown.
\par The position of cursor in scrollbar gives you an indication about the current frame. When cursor is at the left of scrollbar current frame is the first one, when it is at the right current frame is the last one. With the two little arrow button you can go
to the next frame or to the previous frame. You can also drag and drop the cursor to change current frame.
\par
\par \{bml BTRewind.bmp\}Rewind button (Home key)\line click on this button to set current frame to the first one
\par
\par \{bml BTRevers.bmp\}Reverse button (left arrow key)\line click on this button to play animation in reverse order
\par
\par \{bml BTStop.bmp\}Stop button (down arrow or escape keys)\line click on this button to stop animation
\par
\par \{bml BTPlay.bmp\}Play button (right arrow key)\line click on this button to play animation
\par
\par \{bml BTForwar.bmp\}Forward button (end key)\line click on this button to set current frame to the last one.
\par
\par There\rquote s some more capabilities when you\rquote re are playing an animation, because using mouse is not always obvious when an animation is played, you can simulate click on control button with some key\~
indicate after each button paragraph between brackets.
\par When playing an animation, you cannot change selected animation. You must stop an animation playing before you want to select another animation.
\par \pard\plain \s1\li113\ri130\sb80\sa120\keepn\widctlpar \b\f7\fs28\kerning28 \page {\cs16\super #{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDJ_REPORTEDBUGS}} {\cs16\super ${\footnote \pard\plain
\s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super $} Reported Bugs}} {\cs16\super K{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super K} Bugs}} {\cs16\super +{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {
\cs16\super +} ANIMVIEW:050}} Reported Bugs
\par \pard\plain \li113\ri130\sa48\keepn\widctlpar \f7\fs16 see also {\uldb\cf11 FAQ}{\v IDJ_FAQ}
\par \pard \li115\ri130\sa48\widctlpar
\par If you find a bugs or have questions {\ul\cf11 contact me}{\v IDP_ME}
\par
\par {\b memory assertion}
\par sometimes after loading some animation the following window appears
\par \{bmc ErrorMem.bmp\}
\par It is because memory block allocated for animation is too small. In fact animation takes a lot of memory, some programmers are actually working to reduce size of animation.
\par This message appears for example when you try to load gp_play1.a3d animation which takes approximatively 2Mo of memory.
\par
\par {\b Non centered animation}
\par centering animation on screen is actually not possible because bounding volume of super object are not calculated.
\par \pard\plain \s1\li113\ri130\sb80\sa120\keepn\widctlpar \b\f7\fs28\kerning28 \page {\cs16\super #{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDJ_FAQ}} {\cs16\super ${\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar
\f7\fs20 {\cs16\super $} Frequently Asked Questions}} {\cs16\super K{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super K} FAQ; Questions}} {\cs16\super +{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {
\cs16\super +} ANIMVIEW:060}} Frequently Asked Questions
\par \pard\plain \li113\ri130\sa48\keepn\widctlpar \f7\fs16 see also {\uldb\cf11 Reported Bugs}{\v IDJ_REPORTEDBUGS}
\par \pard \li115\ri130\sa48\widctlpar
\par If you find a bugs or have questions {\ul\cf11 contact me}{\v IDP_ME}
\par \page ************************ POPUP *************************
\par \pard\plain \s1\li113\ri130\sb80\sa120\widctlpar \b\f7\fs28\kerning28 \page {\cs16\fs24\super #{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDP_FAMILYLISTBOX}}{\fs24 }{\cs16\fs24\super ${\footnote \pard\plain
\s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super $} Family list box}}{\fs24 Family list box
\par }\pard\plain \li115\ri130\sa48\widctlpar \f7\fs16 The most left list box in interface contains list of all families. \line Left click in a family name to select it, you will see in animation list \line all animation available for the selected family\page
{\cs16\fs24\super #{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDP_ANIMATIONLISTBOX}}{\fs24 }{\cs16\fs24\super ${\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super $} Animation list box}}{
\fs24 }{\b\fs24 Animation list box}{\fs24
\par }When a family is selected in family list box all its animation \line are displayed in animation list box. Loaded animation appear in bold font. \line To load an animation double click on a name (see loading an animation)\page {\cs16\fs24\super #
{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDP_ANIMINFO}}{\fs24 }{\cs16\fs24\super ${\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super $} Animation information}}{\fs24 }{\b\fs24
Animation information
\par }Two little boxes show you how much frame and channel animation have. \line When animation is not loaded this two little boxes are empty.
\par \page {\cs16\super #{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDP_ME}} \{bmc vlhullier.bmp\}
\par Vincent Lhullier
\par \{bmc LETTRE.bmp\}\tab {\uldb\cf11 vlhullier@annecy.ubisoft.fr}{\v !ExecFile(AnimBug.msg, \~, SW_SHOW, IDP_MESSAGEERROR )}
\par \{bmc TELEPHON.bmp\}\tab 04.50.52.98.84
\par \pard\plain \s1\li113\ri130\sb80\sa120\widctlpar \b\f7\fs28\kerning28 {\*\bkmkstart ROBOHELP}{\*\bkmkend ROBOHELP}\page {\cs16\fs24\super #{\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super #} IDP_MESSAGEERROR}}{\fs24 }{
\cs16\fs24\super ${\footnote \pard\plain \s15\li115\ri130\sa48\widctlpar \f7\fs20 {\cs16\super $} Mail Erreur}}{\fs24 Mail Erreur
\par }\pard\plain \li115\ri130\sa48\widctlpar \f7\fs16 The file \lquote AnimBug.msg\rquote not found
\par in edt_data\\tools\\Anim directory
\par
\par
\par
\par }

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,20 @@
@ECHO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>͸
@ECHO <20> <20>
@ECHO <20> R o b o H E L P <20> <20> <20>
@ECHO <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20> <20> <20> <20>
@ECHO <20> PRE Compile Bat <20> <20><><EFBFBD> <20> <20><>
@ECHO <20> <20> <20><><EFBFBD> <20><>
@ECHO <20> <20> <20> <20><> <20>
@ECHO <20> <20> <20> <20><> <20>
@ECHO <20> <20><><EFBFBD><EFBFBD>
@ECHO <20> B L U E S K Y S O F T W A R E <20><><EFBFBD>
@ECHO <20> <20><><EFBFBD>
@ECHO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@ECHO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@ECHO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@ECHO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@ECHO <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>;
copy ANIMVIEW.HLP C:\acp\dllbibli\tools\Anim\Anim
@ECHO POST BATCH COMPLETE > "C:\acp\dllbibli\tools\Anim\doc\HelpData\RHPOST.~~$"

View File

@@ -0,0 +1,98 @@
//**************************************
// This is the base class of your DLL interface
// All methods of CPA_ToolDLLBase are
// present in that class.
//**************************************
#ifndef __TAnimINTERF_HPP__
#define __TAnimINTERF_HPP__
#ifdef ACTIVE_EDITOR
#include "ITF.h"
#include "TAN.h"
//class CPA_Animation;
class CPA_Family;
class CAnimationView;
// if you want only one instance of your DLL activate the next line
#define DLL_ONLY_ONE_INSTANCE
/*=============================================================================
* define : action type used for OnQueryAction function
=============================================================================*/
/*
#define C_cLoadAllAnimsAction 1
#define C_cGetEditorAnimFromEngineAnim 2
#define C_cIsEngineAnimLoaded 3
#define C_cReallyLoadEngineAnimation 4
*/
/*=============================================================================
* Tool DLL interface class
=============================================================================*/
class TAnim_Interface : public CPA_ToolDLLBase
{
private:
BOOL m_bCompleteLoad;
public:
TAnim_Interface(void);
//====================================================================================
//========================= COMMON DLL FUNCTIONS OVERLOAD ============================
//====================================================================================
// ACP MEssages Functions overload
// Windows MEssages Functions overload
// to update lists of reachable objects
// for changes
// editor Modifs
// insert
// moves
// Dialog List
//Menus
BOOL fn_bDefineSubMenu (EDT_SubMenu *_p_oEDTSubMenu);
void _OnSubMenuCommand (EDT_SubMenu *_p_oEDTSubMenu,UINT uiMsgID);
// CPA_ReachableObject
BOOL fn_bLoadBaseObject (CPA_BaseObject *p_oObject);
// Current Editor
//====================================================================================
//=========================== TOOL DLL FUNCTIONS OVERLOAD ============================
//====================================================================================
// Called just after editor has been inserted in list of all editors
void fn_vJustAfterRegistered(void);
// To communicate with that editor
long OnQueryAction (CPA_EditorBase *p_oSender, WPARAM, LPARAM);
long OnQueryInfos (CPA_EditorBase *p_oSender, WPARAM, LPARAM);
//====================================================================================
//=========================== TOOL DLL SPECIFIC FUNCTIONS ============================
//====================================================================================
private:
void mfn_vLoadAllAnimations();
// load all loaded animations of game using link table
void mfn_vCreateAllLoadedAnimations();
// load all animations of a family (loaded or not)
void mfn_vLoadAnims( CPA_Family *_p_oFamily );
// load preferences from .ini
void mfn_vLoadPreferences();
// save preferences on .ini
void mfn_vSavePreferences();
};
extern tdstDLLIdentity g_stTAnimIdentity;
#endif // ACTIVE_EDITOR
#endif // __TAnimINTERF_HPP__

View File

@@ -0,0 +1,18 @@
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#ifndef __STDAAFX_H__
#define __STDAAFX_H__
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows 95 Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
#endif //__STDAAFX_H__

View File

@@ -0,0 +1,176 @@
# Microsoft Developer Studio Project File - Name="TAN" - Package Owner=<4>
# Microsoft Developer Studio Generated Build File, Format Version 5.00
# ** DO NOT EDIT **
# TARGTYPE "Win32 (x86) Dynamic-Link Library" 0x0102
CFG=TAN - Win32 Debug with Editors
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
!MESSAGE use the Export Makefile command and run
!MESSAGE
!MESSAGE NMAKE /f "Tan.mak".
!MESSAGE
!MESSAGE You can specify a configuration when running NMAKE
!MESSAGE by defining the macro CFG on the command line. For example:
!MESSAGE
!MESSAGE NMAKE /f "Tan.mak" CFG="TAN - Win32 Debug with Editors"
!MESSAGE
!MESSAGE Possible choices for configuration are:
!MESSAGE
!MESSAGE "TAN - Win32 Debug with Editors" (based on\
"Win32 (x86) Dynamic-Link Library")
!MESSAGE "TAN - Win32 Debug Glide with Editors" (based on\
"Win32 (x86) Dynamic-Link Library")
!MESSAGE
# Begin Project
# PROP Scc_ProjName ""$/CPA/TempGrp/TAN/make", LHCAAAAA"
# PROP Scc_LocalPath "."
CPP=cl.exe
MTL=midl.exe
RSC=rc.exe
!IF "$(CFG)" == "TAN - Win32 Debug with Editors"
# PROP BASE Use_MFC 0
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug with Editors"
# PROP BASE Intermediate_Dir "Debug with Editors"
# PROP BASE Target_Dir ""
# PROP Use_MFC 2
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "x:\CPA\EXE\GAM\EDT_Data\Tools"
# PROP Intermediate_Dir "Tmp\TANP5Evd"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MTd /W3 /Gm /GX /Zi /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /YX /FD /c
# ADD CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "X:\CPA\Public" /I "..\inc" /D "CPA_WANTS_IMPORT" /D "ACTIVE_EDITOR" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "CPA_VISUAL" /D "CPA_DEBUG" /D "_WINDLL" /D "_AFXDLL" /FR /YX /FD /c
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD BASE RSC /l 0x40c /d "_DEBUG"
# ADD RSC /l 0x40c /d "_DEBUG" /d "_AFXDLL"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo /o"Tmp\TANP5Evd\TAN.bsc"
LINK32=link.exe
# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:windows /dll /debug /machine:I386 /pdbtype:sept
# ADD LINK32 X:\CPA\Exe\GAM\GAMP5Evd.lib /nologo /subsystem:windows /dll /debug /machine:I386 /out:"X:\CPA\EXE\GAM\EDT_Data\Tools\TANP5Evd.dll" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ELSEIF "$(CFG)" == "TAN - Win32 Debug Glide with Editors"
# PROP BASE Use_MFC 2
# PROP BASE Use_Debug_Libraries 1
# PROP BASE Output_Dir "Debug Glide with Editors"
# PROP BASE Intermediate_Dir "Debug Glide with Editors"
# PROP BASE Target_Dir ""
# PROP Use_MFC 2
# PROP Use_Debug_Libraries 1
# PROP Output_Dir "x:\CPA\EXE\main\EDT_Data\Tools"
# PROP Intermediate_Dir "Tmp\TANDFEvd"
# PROP Ignore_Export_Lib 0
# PROP Target_Dir ""
# ADD BASE CPP /nologo /MDd /W3 /Gm /GX /Zi /Od /I "X:\CPA\Public" /D "CPA_WANTS_IMPORT" /D "ACTIVE_EDITOR" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "CPA_VISUAL" /D "CPA_DEBUG" /D "_WINDLL" /D "_AFXDLL" /YX /FD /c
# ADD CPP /nologo /MD /W3 /GX /Z7 /Od /I "X:\CPA\Public" /I "..\inc" /D "CPA_WANTS_IMPORT" /D "ACTIVE_EDITOR" /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "CPA_VISUAL" /D "CPA_DEBUG" /D "_WINDLL" /D "_AFXDLL" /YX /FD /c
# SUBTRACT CPP /Fr
# ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD MTL /nologo /D "_DEBUG" /mktyplib203 /o NUL /win32
# ADD BASE RSC /l 0x40c /d "_DEBUG" /d "_AFXDLL"
# ADD RSC /l 0x40c /d "_DEBUG" /d "_AFXDLL"
BSC32=bscmake.exe
# ADD BASE BSC32 /nologo
# ADD BSC32 /nologo /o"Tmp\TANDFEvd\TAN.bsc"
LINK32=link.exe
# ADD BASE LINK32 X:\CPA\Exe\GAM\GAMP5Evd.lib /nologo /subsystem:windows /dll /pdb:"x:\CPA\EXE\GAMEDT_Data\Tools\TANP5Evd.pdb" /debug /machine:I386 /out:"X:\CPA\EXE\GAM\EDT_Data\Tools\TANP5Evd.dll" /pdbtype:sept
# SUBTRACT BASE LINK32 /pdb:none
# ADD LINK32 /nologo /subsystem:windows /dll /debug /machine:I386 /nodefaultlib:"msvcrtd.lib" /out:"X:\CPA\EXE\main\EDT_Data\TOOLS\TANDFEvd.dll" /pdbtype:sept
# SUBTRACT LINK32 /pdb:none
!ENDIF
# Begin Target
# Name "TAN - Win32 Debug with Editors"
# Name "TAN - Win32 Debug Glide with Editors"
# Begin Group "Source Files"
# PROP Default_Filter "*.c *.cpp"
# Begin Source File
SOURCE=..\src\Anim.def
# End Source File
# Begin Source File
SOURCE=..\src\ANinterf.cpp
# End Source File
# Begin Source File
SOURCE=..\src\CPAAnim.cpp
# End Source File
# Begin Source File
SOURCE=..\src\dllcom.cpp
# End Source File
# Begin Source File
SOURCE=..\src\StdAfx.cpp
# End Source File
# End Group
# Begin Group "Header Files"
# PROP Default_Filter "*.h *.hpp"
# Begin Source File
SOURCE=..\inc\ANinterf.hpp
# End Source File
# Begin Source File
SOURCE=..\..\..\Public\TAN\CPAAnim.hpp
# End Source File
# Begin Source File
SOURCE=..\inc\StdAfx.h
# End Source File
# Begin Source File
SOURCE=..\..\..\Public\TAN.h
# End Source File
# Begin Source File
SOURCE=..\..\..\Public\TAN\TANQuery.h
# End Source File
# End Group
# Begin Group "Resources"
# PROP Default_Filter "*.res *.ico *.rc *.bmp"
# End Group
# Begin Group "Others"
# PROP Default_Filter ""
# Begin Source File
SOURCE=X:\cpa\exe\Main\edt_data\tools\TAN\animbug.msg
# End Source File
# Begin Source File
SOURCE=X:\cpa\exe\Main\edt_data\tools\TAN\ANIMVIEW.CNT
# End Source File
# Begin Source File
SOURCE=X:\cpa\exe\Main\edt_data\tools\TAN\ANIMVIEW.HLP
# End Source File
# End Group
# Begin Group "libs debug"
# PROP Default_Filter "*.lib"
# Begin Source File
SOURCE=..\..\..\Exe\Main\MaiDFEvd.lib
# End Source File
# End Group
# Begin Source File
SOURCE=.\Tan.mak
# End Source File
# End Target
# End Project

View File

@@ -0,0 +1,284 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="7.10"
Name="TAN"
ProjectGUID="{11311B47-2982-4B99-BDDF-D323DC09FFBF}"
SccProjectName="&quot;$/CPA/TempGrp/TAN/make&quot;, LHCAAAAA"
SccAuxPath=""
SccLocalPath="."
SccProvider="MSSCCI:NXN alienbrain"
Keyword="MFCProj">
<Platforms>
<Platform
Name="Win32"/>
</Platforms>
<Configurations>
<Configuration
Name="Debug Glide with Editors|Win32"
OutputDirectory="x:\CPA\EXE\main\EDT_Data\Tools"
IntermediateDirectory=".\Tmp\TANDFEvd"
ConfigurationType="2"
UseOfMFC="2"
ATLMinimizesCRunTimeLibraryUsage="FALSE">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="X:\CPA\Public,..\inc"
PreprocessorDefinitions="CPA_WANTS_IMPORT;ACTIVE_EDITOR;WIN32;_DEBUG;_WINDOWS;CPA_VISUAL;CPA_DEBUG"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
PrecompiledHeaderFile=".\Tmp\TANDFEvd/Tan.pch"
AssemblerListingLocation=".\Tmp\TANDFEvd/"
ObjectFile=".\Tmp\TANDFEvd/"
ProgramDataBaseFileName=".\Tmp\TANDFEvd/"
WarningLevel="3"
SuppressStartupBanner="TRUE"
DebugInformationFormat="1"
CompileAs="0"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="maidfevd.lib"
OutputFile="X:\CPA\EXE\main\EDT_Data\TOOLS\TANDFEvd.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="X:\cpa\exe\main"
IgnoreDefaultLibraryNames=""
ModuleDefinitionFile="..\src\Anim.def"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="x:\CPA\EXE\main\EDT_Data\Tools/TANDFEvd.pdb"
SubSystem="2"
ImportLibrary="x:\CPA\EXE\main\EDT_Data\Tools/TANDFEvd.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="TRUE"
SuppressStartupBanner="TRUE"
TargetEnvironment="1"
TypeLibraryName="x:\CPA\EXE\main\EDT_Data\Tools/Tan.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1036"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
<Configuration
Name="Debug with Editors|Win32"
OutputDirectory="x:\CPA\EXE\GAM\EDT_Data\Tools"
IntermediateDirectory=".\Tmp\TANP5Evd"
ConfigurationType="2"
UseOfMFC="2"
ATLMinimizesCRunTimeLibraryUsage="FALSE">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="X:\CPA\Public,..\inc"
PreprocessorDefinitions="CPA_WANTS_IMPORT;ACTIVE_EDITOR;WIN32;_DEBUG;_WINDOWS;CPA_VISUAL;CPA_DEBUG"
RuntimeLibrary="3"
UsePrecompiledHeader="2"
PrecompiledHeaderFile=".\Tmp\TANP5Evd/Tan.pch"
AssemblerListingLocation=".\Tmp\TANP5Evd/"
ObjectFile=".\Tmp\TANP5Evd/"
ProgramDataBaseFileName=".\Tmp\TANP5Evd/"
BrowseInformation="1"
WarningLevel="3"
SuppressStartupBanner="TRUE"
DebugInformationFormat="4"
CompileAs="0"/>
<Tool
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="GAMP5Evd.lib"
OutputFile="X:\CPA\EXE\GAM\EDT_Data\Tools\TANP5Evd.dll"
LinkIncremental="1"
SuppressStartupBanner="TRUE"
AdditionalLibraryDirectories="X:\cpa\libd"
ModuleDefinitionFile="..\src\Anim.def"
GenerateDebugInformation="TRUE"
ProgramDatabaseFile="x:\CPA\EXE\GAM\EDT_Data\Tools/TANP5Evd.pdb"
SubSystem="2"
ImportLibrary="x:\CPA\EXE\GAM\EDT_Data\Tools/TANP5Evd.lib"
TargetMachine="1"/>
<Tool
Name="VCMIDLTool"
PreprocessorDefinitions="_DEBUG"
MkTypLibCompatible="TRUE"
SuppressStartupBanner="TRUE"
TargetEnvironment="1"
TypeLibraryName="x:\CPA\EXE\GAM\EDT_Data\Tools/Tan.tlb"
HeaderFileName=""/>
<Tool
Name="VCPostBuildEventTool"/>
<Tool
Name="VCPreBuildEventTool"/>
<Tool
Name="VCPreLinkEventTool"/>
<Tool
Name="VCResourceCompilerTool"
PreprocessorDefinitions="_DEBUG"
Culture="1036"/>
<Tool
Name="VCWebServiceProxyGeneratorTool"/>
<Tool
Name="VCXMLDataGeneratorTool"/>
<Tool
Name="VCWebDeploymentTool"/>
<Tool
Name="VCManagedWrapperGeneratorTool"/>
<Tool
Name="VCAuxiliaryManagedWrapperGeneratorTool"/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="*.c *.cpp">
<File
RelativePath="..\src\Anim.def">
</File>
<File
RelativePath="..\src\ANinterf.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\CPAAnim.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\dllcom.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
<File
RelativePath="..\src\StdAfx.cpp">
<FileConfiguration
Name="Debug Glide with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""/>
</FileConfiguration>
<FileConfiguration
Name="Debug with Editors|Win32">
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=""
PreprocessorDefinitions=""
BrowseInformation="1"/>
</FileConfiguration>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="*.h *.hpp">
<File
RelativePath="..\inc\ANinterf.hpp">
</File>
<File
RelativePath="..\..\..\Public\TAN\CPAAnim.hpp">
</File>
<File
RelativePath="..\inc\StdAfx.h">
</File>
<File
RelativePath="..\..\..\Public\TAN.h">
</File>
<File
RelativePath="..\..\..\Public\TAN\TANQuery.h">
</File>
</Filter>
<Filter
Name="Others"
Filter="">
<File
RelativePath="..\..\..\exe\Main\edt_data\tools\TAN\animbug.msg">
</File>
<File
RelativePath="..\..\..\exe\Main\edt_data\tools\TAN\ANIMVIEW.CNT">
</File>
<File
RelativePath="..\..\..\exe\Main\edt_data\tools\TAN\ANIMVIEW.HLP">
</File>
</Filter>
<Filter
Name="Resources"
Filter="*.res *.ico *.rc *.bmp">
</Filter>
<File
RelativePath="Tan.mak">
</File>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@@ -0,0 +1,5 @@
SCC = This is a source code control file
[Tan.vcproj]
SCC_Aux_Path = "P4SCC#srvperforce-ma:1666##raymandata##Editor"
SCC_Project_Name = Perforce Project

View File

@@ -0,0 +1,526 @@
//#################################################################################
//
// BASE CLASS OF YOUR DLL interface
//
//#################################################################################
#include "stdafx.h"
#include "ACP_Base.h"
#include "ITF.h"
#include "SCR.h"
#include "DPT.h"
#define D_State_Define
#define D_ObjsTbls_Define
#define D_ZdxStuff_StructureDefine
//#include "DNM.h"
#include "incGAM.h"
#undef D_ZdxStuff_StructureDefine
#undef D_ObjsTbls_Define
#undef D_State_Define
#include "TFA.h"
#include "TAN.h"
#include "ANinterf.hpp"
//#include "AnimView.h"
#include "x:\cpa\main\inc\_EditID.h"
// infos
static CString g_csTANName = "Animation";
static CString g_csTANAuthor = "Vincent Lhullier & Chantal Oury";
static CString g_csTANVersion = "V 6.0.1 18/03/98";
static CString g_csTANFrenchHelpFile = "Animview.hlp";
static CString g_csTANEnglishHelpFile = "";
/*
*=============================================================================
* the DLL global definition
*=============================================================================
*/
tdstDLLIdentity g_stTAnimIdentity;
static CPA_EditorBase *gs_p_oFamilyDLL;
static CPA_EditorBase *gs_p_oActionDLL;
#define C_uiTANPopupPreLoad 10
/*
*=============================================================================
*
* TAnim_Interface implementation
*
*=============================================================================
*/
/*
*-----------------------------------------------------------------------------
* Constructor
*-----------------------------------------------------------------------------
*/
TAnim_Interface::TAnim_Interface(void)
{
// ************************** private internal
m_p_stDLLIdentity = &g_stTAnimIdentity;
// Does your DLL can output in main game view ?
m_stBaseDLLDefinition.bCanOutputIn3DView = FALSE;
// Does your DLL can be refresh by engine ?
m_stBaseDLLDefinition.bCanBeRefreshedByEngine = FALSE;
SetEditorInfo(g_csTANName, g_csTANAuthor, g_csTANVersion, g_csTANFrenchHelpFile, g_csTANEnglishHelpFile);
m_bCompleteLoad = FALSE;
}
/*
*-----------------------------------------------------------------------------
* fn_vJustAfterRegistered
*-----------------------------------------------------------------------------
*/
void TAnim_Interface::fn_vJustAfterRegistered()
{
CString a_csType[] = { C_szAnimationTypeName };
fn_vRegisterObjectsType ( a_csType , 1 ) ;
mfn_vLoadPreferences();
gs_p_oFamilyDLL = GetMainWorld()->GetToolDLLWithName( C_szDLLFamilyName );
gs_p_oActionDLL = GetMainWorld()->GetToolDLLWithName( C_szDLLActionName );
}
/*
*===========================================================================
* General Purpose
*===========================================================================
*/
BOOL TAnim_Interface::fn_bDefineSubMenu(EDT_SubMenu *_p_oEDTSubMenu)
{
//ANNECY Shaitan NewInterface 24/03/98 {
if (_p_oEDTSubMenu->GetSubMenuType() == C_SubMenuLoad)
//ENDANNECY Shaitan NewInterface }
{
_p_oEDTSubMenu->AddAnEntry(this, "PreLoad All Animations", C_uiTANPopupPreLoad );
return TRUE;
}
return FALSE;
}
void TAnim_Interface::_OnSubMenuCommand (EDT_SubMenu *_p_oEDTSubMenu,UINT uiMsgID)
{
BOOL bLastCompleteLoad;
//ANNECY Shaitan NewInterface 24/03/98 {
if( _p_oEDTSubMenu->GetSubMenuType() == C_SubMenuLoad )
//ENDANNECY Shaitan NewInterface }
{
switch( uiMsgID )
{
case C_uiTANPopupPreLoad:
bLastCompleteLoad = m_bCompleteLoad;
m_bCompleteLoad = TRUE;
mfn_vLoadAllAnimations();
m_bCompleteLoad = bLastCompleteLoad;
break;
}
}
}
/*
*-----------------------------------------------------------------------------
* OnQueryAction
*-----------------------------------------------------------------------------
*/
long TAnim_Interface::OnQueryAction (CPA_EditorBase *p_oSender, WPARAM wAction, LPARAM lParam)
{
BOOL bLastCompleteLoad;
switch( wAction )
{
case C_cLoadAllAnimsAction: // load animations of a family using m_bCompleteLoad
mfn_vLoadAnims( (CPA_Family *) lParam );
break;
case C_cPreLoadAllAnimation: // load animations of a family forcing m_bCompleteLoad
bLastCompleteLoad = m_bCompleteLoad;
m_bCompleteLoad = TRUE;
mfn_vLoadAnims( (CPA_Family *) lParam );
m_bCompleteLoad = bLastCompleteLoad;
break;
case C_cLoadAllAnimations: // load animations of all families
mfn_vLoadAllAnimations();
break;
case C_cSetCompleteLoadModeTAN:
m_bCompleteLoad = (BOOL) lParam;
mfn_vSavePreferences();
break;
}
return 0;
}
/*
*-----------------------------------------------------------------------------
* OnQueryInfo
*-----------------------------------------------------------------------------
*/
long TAnim_Interface::OnQueryInfos (CPA_EditorBase *p_oSender, WPARAM wAction, LPARAM lParam)
{
switch( wAction )
{
case C_cGetCompleteLoadModeTAN:
return (long)m_bCompleteLoad;
break;
}
return 0;
}
/*
*-----------------------------------------------------------------------------
* description : load animation
*-----------------------------------------------------------------------------
*/
BOOL TAnim_Interface::fn_bLoadBaseObject(CPA_BaseObject *p_oObject)
{
//ANNECY CT 20/02/98{
//if( ! p_oObject -> fn_bIsAvailable() )
//{
//ENDANNECY CT}
CPA_Animation *p_oAnim = (CPA_Animation*)p_oObject;
p_oAnim -> mfn_vLoad();
return TRUE;
//ANNECY CT 20/02/98{
//}
//return FALSE;
//ENDANNECY CT}
}
/*
*===========================================================================
* Specific functions
*===========================================================================
*/
void TAnim_Interface::mfn_vLoadAllAnimations()
{
if( m_bCompleteLoad )
{
CPA_BaseObjectList *p_oFamilyList = gs_p_oFamilyDLL -> GetBaseObjectList( C_szFamilyTypeName );
Position xPos = p_oFamilyList -> GetHeadPosition();
while( xPos )
{
CPA_Family *p_oFamily = (CPA_Family*)p_oFamilyList -> GetNext( xPos );
mfn_vLoadAnims( p_oFamily );
}
}
else
mfn_vCreateAllLoadedAnimations();
}
/*
*-----------------------------------------------------------------------------
* description : load anims for a given family. Parameters is the family
*-----------------------------------------------------------------------------
*/
void TAnim_Interface::mfn_vLoadAnims( CPA_Family *_p_oFamily )
{
WIN32_FIND_DATA stWFD; // structure for searching file
HANDLE hFD; // handle for searching file
char szSearchName[MAX_PATH]; // name of searched file (including relative path to family dir)
char *p_szName;
char szAnimName[MAX_PATH];
char *p_cPoint;
CPA_Animation *p_oAnim; // pointer for animation creation
SCR_tdst_Link_Table *p_stLK = fnp_stGetAnimationLinkTable();
SCR_tdst_Link_Value *p_xLVa;
BOOL bPreviousLoadingWorld;
// initialize searching loop (search all file in family directory)
p_szName = szSearchName + sprintf( szSearchName, "%s\\%s\\", fn_szGetAnimDataPath(), _p_oFamily->fn_p_szGetName() );
strcpy( p_szName, "*.a3D" );
hFD = FindFirstFile( szSearchName, &stWFD );
// stop load if no file found or if an error occurs
if ( hFD != INVALID_HANDLE_VALUE )
{
// save Loading World Mode
bPreviousLoadingWorld = GetInterface() -> fn_bIsLoadingWorld();
// no prefix added
GetInterface() -> SetLoadingWorld( TRUE );
do
{
strcpy( p_szName, stWFD.cFileName );
// remove ".a3d" from name
strcpy( szAnimName, stWFD.cFileName );
if ( (p_cPoint = strrchr( szAnimName, '.' )) != NULL)
*p_cPoint = 0;
// get editor object
p_oAnim = (CPA_Animation*)GetBaseObject( CString(szAnimName), C_szAnimationTypeName, _p_oFamily );
// get engine object
p_xLVa = SCR_fnp_st_Link_SearchKey( p_stLK, szSearchName );
if( p_xLVa )
{
// engine exists, must have editor
if( p_oAnim == NULL )
{
// editor object doesn't exist, create it
p_oAnim = new CPA_Animation(this, _p_oFamily , szAnimName) ;
// add animation to family
_p_oFamily->mfn_vAddAnimation( p_oAnim );
}
// update engine
if( ((struct tdstAnim3d_ *)p_oAnim -> GetData()) != ((struct tdstAnim3d_ *)SCR_M_ul_Link_GetValue( p_xLVa )) )
{
p_oAnim -> SetData( (struct tdstAnim3d_ *) SCR_M_ul_Link_GetValue( p_xLVa ) );
p_oAnim -> SetAvailable( TRUE );
}
}
else
{
// engine doesn't exist
// create editor object only if complete load mode and doesn't already exist
if( m_bCompleteLoad && ( p_oAnim == NULL ) )
{
// create editor animation
p_oAnim = new CPA_Animation(this, _p_oFamily , szAnimName) ;
// add animation in family
_p_oFamily->mfn_vAddAnimation( p_oAnim );
p_oAnim -> SetData( NULL );
p_oAnim -> SetAvailable( FALSE );
}
}
} while (FindNextFile( hFD, &stWFD) );
// restore Loading World Mode
GetInterface() -> SetLoadingWorld( bPreviousLoadingWorld );
// close FindData handle
FindClose(hFD);
}
// Shaitan Correction Anims Specifiques
char szVersion[255];
char szPath[255];
char szRealName[255];
FILE *hIni;
// get info from ini file
hIni = fopen("version.ini", "rt");
if(hIni == NULL)
hIni = fopen("x:\\cpa\\exe\\main\\version.ini", "rt");
if(hIni)
{
fgets(szVersion, 49, hIni);
while(!isalnum(szVersion[strlen(szVersion) - 1]))
szVersion[strlen(szVersion) - 1] = '\0';
fclose(hIni);
}
// if no specific version, no more search
else
{
if( gs_p_oActionDLL )
gs_p_oActionDLL -> OnQueryAction( this, C_uiUpdateAnimList, 0 );
return;
}
char szVersion1[255];
char szVersion2[255];
char *szCut;
int iNumVersion, iNbVersions = 1;
strcpy(szVersion1, szVersion);
szCut = strchr(szVersion1, ',');
if (szCut)
{
strcpy(szVersion2, szCut+1 );
strcpy(szCut, "\0");
iNbVersions = 2;
}
for (iNumVersion = 0; iNumVersion < iNbVersions; iNumVersion++)
{
// build specific path
strcpy(szPath, iNumVersion ? szVersion2 : szVersion1);
strcat(szPath, strchr(fn_szGetAnimDataPath(), '\\'));
// initialize searching loop (search all file in family directory)
p_szName = szSearchName + sprintf( szSearchName, "%s\\%s\\", szPath, _p_oFamily->fn_p_szGetName() );
strcpy( p_szName, "*.a3D" );
hFD = FindFirstFile( szSearchName, &stWFD );
// stop load if no file found or if an error occurs
if ( hFD != INVALID_HANDLE_VALUE )
{
// save Loading World Mode
bPreviousLoadingWorld = GetInterface() -> fn_bIsLoadingWorld();
// no prefix added
GetInterface() -> SetLoadingWorld( TRUE );
do
{
strcpy( p_szName, stWFD.cFileName );
// remove ".a3d" from name
strcpy( szAnimName, stWFD.cFileName );
if ( (p_cPoint = strrchr( szAnimName, '.' )) != NULL)
*p_cPoint = 0;
// get editor object
p_oAnim = (CPA_Animation*)GetBaseObject( CString(szAnimName), C_szAnimationTypeName, _p_oFamily );
// get engine object
strcpy(szRealName, fn_szGetAnimDataPath());
strcat(szRealName, szSearchName + strlen(szPath));
p_xLVa = SCR_fnp_st_Link_SearchKey(p_stLK, szRealName);
if (p_xLVa)
{
// engine exists, must have editor
if( p_oAnim == NULL )
{
// editor object doesn't exist, create it
p_oAnim = new CPA_Animation(this, _p_oFamily , szAnimName) ;
// add animation to family
_p_oFamily->mfn_vAddAnimation( p_oAnim );
}
// update engine
if( ((struct tdstAnim3d_ *)p_oAnim -> GetData()) != ((struct tdstAnim3d_ *)SCR_M_ul_Link_GetValue( p_xLVa )) )
{
p_oAnim -> SetData( (struct tdstAnim3d_ *) SCR_M_ul_Link_GetValue( p_xLVa ) );
p_oAnim -> SetAvailable( TRUE );
}
}
else
{
// engine doesn't exist
// create editor object only if complete load mode and doesn't already exist
if( m_bCompleteLoad && ( p_oAnim == NULL ) )
{
// create editor animation
p_oAnim = new CPA_Animation(this, _p_oFamily , szAnimName) ;
// add animation in family
_p_oFamily->mfn_vAddAnimation( p_oAnim );
p_oAnim -> SetData( NULL );
p_oAnim -> SetAvailable( FALSE );
}
}
} while (FindNextFile( hFD, &stWFD) );
// restore Loading World Mode
GetInterface() -> SetLoadingWorld( bPreviousLoadingWorld );
// close FindData handle
FindClose(hFD);
}
}
//End Shaitan Correction Anims Specifiques }
//
if( gs_p_oActionDLL )
gs_p_oActionDLL -> OnQueryAction( this, C_uiUpdateAnimList, 0 );
}
/*
*-----------------------------------------------------------------------------
* description : create all animations using link table
*-----------------------------------------------------------------------------
*/
void TAnim_Interface::mfn_vCreateAllLoadedAnimations()
{
SCR_tdst_Link_Table *p_stLK = fnp_stGetAnimationLinkTable();
SCR_tdst_Link_Value *p_xLVa;
unsigned int uiPos;
char szSectionName[MAX_PATH];
char *szAnimName;
char *szFamilyName;
char *p_cPoint;
unsigned int iAnimDataPathLength = strlen( fn_szGetAnimDataPath() ) + 1;
CPA_Family *p_oFamily = NULL;
CPA_Animation *p_oAnim;
BOOL bPreviousLoadingWorld;
// save Loading World Mode
bPreviousLoadingWorld = GetInterface() -> fn_bIsLoadingWorld();
// no prefix added
GetInterface() -> SetLoadingWorld( TRUE );
//
uiPos = 0;
SCR_M_DyAr_GetNextElement(SCR_tdst_Link_Value, uiPos, p_xLVa, SCR_M_st_Link_GetDynamicArray(p_stLK));
while(p_xLVa)
{
strcpy( szSectionName, SCR_M_p_sz_Link_GetKey( p_xLVa ) );
// get family name
szFamilyName = szSectionName + iAnimDataPathLength;
// get anim name
szAnimName = strchr( szFamilyName, '\\' );
*szAnimName = 0;
szAnimName++;
if ( (p_cPoint = strrchr( szAnimName, '.' )) != NULL)
*p_cPoint = 0;
// search family
if( ( p_oFamily == NULL ) || ( strcmp(szFamilyName, p_oFamily -> fn_p_szGetName() ) ) )
p_oFamily = (CPA_Family*)gs_p_oFamilyDLL -> GetBaseObject( CString(szFamilyName), C_szFamilyTypeName );
ASSERT( p_oFamily );
// create animation
p_oAnim = new CPA_Animation(this, p_oFamily , szAnimName) ;
// add animation in family
p_oFamily->mfn_vAddAnimation( p_oAnim );
// set engine pointer
p_oAnim -> SetData( (struct tdstAnim3d_ *) SCR_M_ul_Link_GetValue( p_xLVa ) );
p_oAnim -> SetAvailable( TRUE );
// next
uiPos++;
SCR_M_DyAr_GetNextElement(SCR_tdst_Link_Value, uiPos, p_xLVa, SCR_M_st_Link_GetDynamicArray(p_stLK));
}
// restore Loading World Mode
GetInterface() -> SetLoadingWorld( bPreviousLoadingWorld );
}
/*
*-----------------------------------------------------------------------------
* description : load preferences from .ini
*-----------------------------------------------------------------------------
*/
void TAnim_Interface::mfn_vLoadPreferences()
{
CString csFileName;
char szText[256];
csFileName = M_GetMainApp()->m_csEditorDataPath + "Tools\\Anim\\Anim.ini";
char *p_szFileName = (char*)(LPCSTR)csFileName;
// CompleteLoad mode
GetPrivateProfileString ("Preference", "Complete Load", "YES", szText, 256, p_szFileName);
m_bCompleteLoad = !strcmpi( szText, "YES" );
}
/*
*-----------------------------------------------------------------------------
* description : save preferences on .ini
*-----------------------------------------------------------------------------
*/
void TAnim_Interface::mfn_vSavePreferences()
{
CString csFileName;
CString csDimension;
csFileName = M_GetMainApp()->m_csEditorDataPath + "Tools\\Anim\\Anim.ini";
char *p_szFileName = (char*)(LPCSTR)csFileName;
// CompleteLoad mode
WritePrivateProfileString( "Preference", "Complete Load", m_bCompleteLoad ? "YES" : "NO" , p_szFileName );
// write on file
WritePrivateProfileString( NULL, NULL, NULL , p_szFileName );
}

View File

@@ -0,0 +1,10 @@
LIBRARY
EXPORTS
fn_p_szGetCPAVersion
fn_p_stGetDLLIdentity
fn_p_oGetDLL
fn_vInitDll
SECTIONS
.data READ WRITE

View File

@@ -0,0 +1,113 @@
/*=============================================================================
*
* Filename: CPAAnim.cpp
* Version: 1.0
* Date: 30/12/96
* Author: Marc Trabucato & Vincent Lhullier
*
* Description: implementation of CPA_Animation class
*
*===========================================================================*/
#ifdef ACTIVE_EDITOR
#include "stdafx.h"
#include "ACP_Base.h"
#include "ITF.h"
#include "DPT.h"
#define D_State_Define
#define D_ObjsTbls_Define
#define D_ZdxStuff_StructureDefine
//#include "DNM.h"
#include "incGAM.h"
#undef D_ZdxStuff_StructureDefine
#undef D_ObjsTbls_Define
#undef D_State_Define
#include "TAN.h"
#include "x:\cpa\main\inc\_EditID.h"
/*
*=============================================================================
* class CPA_Animation
*=============================================================================
*/
#define M_Char(string) ( (char*)(LPCTSTR)(string) )
/*
*-----------------------------------------------------------------------------
* Description : constructor
*-----------------------------------------------------------------------------
*/
CPA_Animation::CPA_Animation( CPA_EditorBase *p_oEditor, CPA_BaseObject *_p_oOwnerFamily, char *_szName )
:CPA_BaseObject( p_oEditor, C_szAnimationTypeName, _p_oOwnerFamily, FALSE )
{
// data
m_p_stAnim3d = NULL;
// name
if ( fn_eRename( _szName ) != E_mc_None )
{
SetDefaultUniqueName();
}
}
void CPA_Animation::SetData(struct tdstAnim3d_ *_p_stAnim)
{
if( _p_stAnim != m_p_stAnim3d )
{
fn_vUpdateData( (void*) _p_stAnim );
m_p_stAnim3d = _p_stAnim;
}
}
//ANNECY CT 20/02/98{
// Modif 07/09/98 : Load Anim using game function - Carlos Torres
void CPA_Animation::mfn_vLoad()
{
char szAnimName[MAX_PATH];
sprintf(szAnimName,"%s\\%s",GetOwner()->fn_p_szGetName(),fn_p_szGetName());
if( ! fn_bIsAvailable() )
{
struct tdstAnim3d_ * p_stAnim;
p_stAnim = fn_p_stLoadAnimationFile(szAnimName,(struct tdstFamilyList_ *) GetOwner()->GetData());
if (p_stAnim) {
SetData(p_stAnim);
SetAvailable(TRUE);
}
}
/*else {
// del section in script
SCR_fn_v_RdL0_DeleteOpenSection(p_cShortName, SCR_CDR_c_RdL0_Contains);
SCR_fn_v_RdL0_DeleteOpenFile(p_cShortName, SCR_CDR_c_RdL0_Contains);
// free sub level in anim structure
fn_vFreeSubStructAnim(m_p_stAnim3d);
// load animations
SCR_M_RdL0_SetContextLong(C_ChildContext, 1, (long)GetOwner() -> GetData() );
SCR_fnp_st_RdL0_AnalyseSection(p_cShortName, SCR_CDF_uw_Anl_Normal);
// search on linktable
SCR_tdst_Link_Table *p_stLK = fnp_stGetAnimationLinkTable();
SCR_tdst_Link_Value *p_xLVa = SCR_fnp_st_Link_SearchKey( p_stLK, szAnimName );
// copy anim name
strcpy(((struct tdstAnim3d_ *)SCR_M_ul_Link_GetValue(p_xLVa))->szAnimName,
m_p_stAnim3d->szAnimName);
// copy first level anim structure
*m_p_stAnim3d = *(struct tdstAnim3d_ *)SCR_M_ul_Link_GetValue(p_xLVa);
// free first level anim structure
fn_vFreeJustStructAnim((struct tdstAnim3d_ *)SCR_M_ul_Link_GetValue(p_xLVa));
// replace pointer in link table
SCR_fnp_st_Link_SetValue(p_stLK,szAnimName,(unsigned long)m_p_stAnim3d);
}*/
}
//ENDANNECY CT}
#endif //ACTIVE_EDITOR

View File

@@ -0,0 +1,6 @@
// stdafx.cpp : source file that includes just the standard includes
// ACPProject.pch will be the pre-compiled header
// stdafx.obj will contain the pre-compiled type information
#include "stdafx.h"

View File

@@ -0,0 +1,125 @@
//
// Common functions for Object DLL capabilities
// C. Beaudet
//
#include "stdafx.h"
#include "afxdllx.h"
#include "ACP_Base.h"
#include "ITF.h"
#define D_State_Define
#define D_ObjsTbls_Define
#define D_ZdxStuff_StructureDefine
//#include "DNM.h"
#include "incGAM.h"
#undef D_ZdxStuff_StructureDefine
#undef D_ObjsTbls_Define
#undef D_State_Define
#include "x:\Cpa\Main\Inc\_EditID.h"
#include "ANinterf.hpp"
//------------------------------------------------------------------------
// Global vars
static char *gs_p_szCPAVersion = C_szCPAVersion;
static AFX_EXTENSION_MODULE NEAR extensionDLL = { NULL, NULL };
#ifdef DLL_ONLY_ONE_INSTANCE
static TAnim_Interface *gs_p_oTAnimInterface = NULL;
#endif
static CList<CPA_DLLBase*,CPA_DLLBase*> g_oListOfInstances; //private internal
//------------------------------------------------------------------------
// functions that are present in all DLL :
//------------------------------------------------------------------------
//========================================================================
// Get current CPA version
//========================================================================
extern "C" char __declspec(dllexport) *fn_p_szGetCPAVersion(void)
{
return gs_p_szCPAVersion;
}
//========================================================================
// Get type of this DLL
//========================================================================
extern "C" tdstDLLIdentity __declspec(dllexport) *fn_p_stGetDLLIdentity(void)
{
g_stTAnimIdentity . eType = TOOL_DLL;
g_stTAnimIdentity . csName = C_szDLLAnimationName;
g_stTAnimIdentity . hModule = NULL;
g_stTAnimIdentity . p_oListOfInstances = &g_oListOfInstances ;
return &g_stTAnimIdentity;
}
//========================================================================
// DLL int function
//========================================================================
extern "C" void __declspec(dllexport) fn_vInitDll(void)
{
new CDynLinkLibrary(extensionDLL);
}
//========================================================================
// DLL entry point
//========================================================================
extern "C" int __stdcall DllMain(HINSTANCE hInstance, DWORD dwReason, LPVOID lpReserved)
{
if (dwReason == DLL_PROCESS_ATTACH)
{
if (!AfxInitExtensionModule(extensionDLL, hInstance))
return 0;
}
return 1;
}
//========================================================================
// Get the DLL
//========================================================================
extern "C" CPA_DLLBase __declspec(dllexport) *fn_p_oGetDLL(long lKey)
{
#ifdef DLL_ONLY_ONE_INSTANCE
switch(lKey)
{
case 0: // the game world
if (gs_p_oTAnimInterface == NULL)
{
gs_p_oTAnimInterface = new TAnim_Interface();
ASSERT(gs_p_oTAnimInterface != NULL);
}
return gs_p_oTAnimInterface;
break;
default:
return NULL;
}
#else //DLL_ONLY_ONE_INSTANCE
switch(lKey)
{
case 0: // the game world
return new TAnim_Interface();
break;
default:
return NULL;
}
#endif //DLL_ONLY_ONE_INSTANCE
}
//------------------------------------------------------------------------
// functions that are present in this type of DLL only :
//------------------------------------------------------------------------
#undef DLL_ONLY_ONE_INSTANCE