|
Wing Commander II
Reconstructed Win32 source (1996)
|
Cutscene IFF resource parsing and release. More...
#include "game.h"Go to the source code of this file.
Cutscene IFF resource parsing and release.
Definition in file iffload.c.
| void * AllocateScenePointerTable | ( | int | count, |
| short | elementSize, | ||
| unsigned short | flags, | ||
| const char * | errorMessage ) |
Definition at line 131 of file iffload.c.
References AllocateScenePointerTable(), AllocateZeroedRecords(), and FatalCutsceneError().
Referenced by AllocateScenePointerTable(), CreateCutsceneResourceInstance(), DecodeCutsceneFileResource(), DecodeCutsceneObjectResource(), DecodeSceneOffsetChunk(), DecodeSceneStructChunk(), DecodeSceneSymbolChunk(), DrawTextAt(), InitializeCutsceneRuntimeResources(), ParseCutsceneContainer(), PushCutsceneFileResource(), PushCutsceneObjectResource(), RunCampaignGameLoop(), RunCutsceneScript(), and StoreMissionResultsInCampaignGlobals().
| signed char AreCutsceneResourceNamesEqual | ( | const char * | left, |
| const char * | right ) |
Definition at line 46 of file iffload.c.
References AreCutsceneResourceNamesEqual(), and DosStrlen().
Referenced by AreCutsceneResourceNamesEqual(), FindCutsceneResourceSymbolIndex(), and UpdateShipTurretGuns().
| short CreateCutsceneResourceInstance | ( | int | formType, |
| CutsceneObjectResourceList * | list, | ||
| short | index ) |
Definition at line 146 of file iffload.c.
References CutscenePlane::active, CutsceneScene::active, CutsceneSequence::active, SceneFlicObject::active, AllocateScenePointerTable(), CreateCutsceneResourceInstance(), ExecuteCutsceneScene(), ExecuteCutsceneSequence(), FatalCutsceneError(), SceneFlicObject::field_3, g_apCutscenePlanes, g_apCutsceneScenes, g_apCutsceneSequences, g_apSceneObjects, g_nCutsceneResourceLevel, CutscenePlane::owner, CutsceneScene::owner, CutsceneSequence::owner, SceneFlicObject::owner, CutsceneSequence::planeIndices, SceneFlicObject::scale, CutscenePlane::scriptCursor, CutsceneScene::scriptCursor, CutsceneSequence::scriptCursor, SceneFlicObject::scriptCursor, CutsceneObjectResourceList::scripts, CutscenePlane::scriptStart, CutsceneScene::scriptStart, CutsceneSequence::scriptStart, SceneFlicObject::scriptStart, CutsceneScene::sequenceIndices, CutscenePlane::spriteIndices, UpdateCutscenePlaneObject(), UpdateCutsceneSpriteObject(), CutscenePlane::visible, and SceneFlicObject::visible.
Referenced by CreateCutsceneResourceInstance(), LinkCutsceneObjectResources(), and UpdateShipTurretGuns().
| void DecodeCutsceneFileResource | ( | CutsceneResourceTable * | resource, |
| unsigned char ** | cursor ) |
Definition at line 383 of file iffload.c.
References AllocateScenePointerTable(), CutsceneResourceTable::count, SceneResourceTable::count, SceneResourceTable::data, DecodeCutsceneFileResource(), DecodeSceneResourceChunk(), CutsceneResourceTable::filenameIndices, g_nCutsceneResourceLevel, HOST_POINTER_SIZE, CutsceneResourceTable::loadedPackets, CutsceneResourceTable::owner, CutsceneResourceTable::packedFilenames, ReleasePacketSlot(), and CutsceneResourceTable::sectionIndices.
Referenced by DecodeCutsceneFileResource(), ParseCutsceneContainer(), and UpdateShipTurretGuns().
| signed char DecodeCutsceneObjectResource | ( | CutsceneObjectResourceList * | resource, |
| unsigned char ** | cursor, | ||
| unsigned char * | end, | ||
| unsigned int | formType ) |
Definition at line 526 of file iffload.c.
References AllocateScenePointerTable(), SceneResourceTable::count, SceneResourceTable::data, CutsceneObjectResourceList::dataEntries, CutsceneObjectResourceList::dataRuntimeIndices, CutsceneObjectResourceList::dataSymbolCount, CutsceneObjectResourceList::dataSymbolIndices, CutsceneObjectResourceList::dataSymbols, DecodeCutsceneObjectResource(), DecodeSceneResourceChunk(), LinkCutsceneObjectResources(), CutsceneObjectResourceList::localDataCount, CutsceneObjectResourceList::localScriptCount, ReadNextSceneForm(), CutsceneObjectResourceList::scriptRuntimeIndices, CutsceneObjectResourceList::scripts, CutsceneObjectResourceList::scriptSymbolCount, CutsceneObjectResourceList::scriptSymbolIndices, CutsceneObjectResourceList::scriptSymbols, SkipCutsceneChunk(), and SceneResourceTable::type.
Referenced by DecodeCutsceneObjectResource(), ParseCutsceneContainer(), and UpdateShipTurretGuns().
| signed char DecodeSceneResourceChunk | ( | unsigned char ** | cursor, |
| SceneResourceTable * | resource ) |
Definition at line 335 of file iffload.c.
References DecodeSceneFileChunk(), DecodeSceneOffsetChunk(), DecodeSceneResourceChunk(), DecodeSceneStructChunk(), DecodeSceneSymbolChunk(), and IdentityHandle().
Referenced by DecodeCutsceneFileResource(), DecodeCutsceneObjectResource(), DecodeSceneResourceChunk(), DrawTextAt(), FindSceneHotspotAtPosition(), LoadSceneHotspotBoundsForSelection(), ParseCutsceneContainer(), and WaitForSceneAdvance().
| short FindCutsceneResourceSymbolIndex | ( | CutsceneObjectResourceList * | list, |
| short | scriptHalf, | ||
| const char * | symbol ) |
Definition at line 103 of file iffload.c.
References AreCutsceneResourceNamesEqual(), FindCutsceneResourceSymbolIndex(), CutsceneObjectResourceList::next, CutsceneObjectResourceHalf::symbolCount, CutsceneObjectResourceHalf::symbolIndices, and CutsceneObjectResourceHalf::symbols.
Referenced by FindCutsceneResourceSymbolIndex(), LinkCutsceneObjectResources(), and UpdateShipTurretGuns().
| signed char LinkCutsceneObjectResources | ( | CutsceneObjectResourceList * | list, |
| short | scriptHalf, | ||
| int | formType ) |
Definition at line 259 of file iffload.c.
References CutsceneObjectResourceHalf::count, CreateCutsceneResourceInstance(), ExecuteCutsceneScene(), ExecuteCutsceneSequence(), FindCutsceneResourceSymbolIndex(), g_apCutscenePlanes, g_apCutsceneScenes, g_apCutsceneSequences, g_apSceneObjects, CutsceneObjectResourceHalf::inheritedCount, LinkCutsceneObjectResources(), CutsceneObjectResourceList::next, CutscenePlane::scriptCursor, CutsceneScene::scriptCursor, CutsceneSequence::scriptCursor, SceneFlicObject::scriptCursor, CutsceneObjectResourceList::scripts, CutscenePlane::scriptStart, CutsceneScene::scriptStart, CutsceneSequence::scriptStart, SceneFlicObject::scriptStart, CutsceneObjectResourceHalf::symbolCount, CutsceneObjectResourceHalf::symbolIndices, CutsceneObjectResourceHalf::symbols, UpdateCutscenePlaneObject(), and UpdateCutsceneSpriteObject().
Referenced by DecodeCutsceneObjectResource(), LinkCutsceneObjectResources(), and UpdateShipTurretGuns().
| unsigned char ParseCutsceneContainer | ( | void * | scenePacket | ) |
Definition at line 410 of file iffload.c.
References AllocateScenePointerTable(), SceneResourceTable::data, DecodeCutsceneFileResource(), DecodeCutsceneObjectResource(), DecodeSceneResourceChunk(), CutsceneTextResource::entries, g_nCutsceneResourceLevel, g_nEarlierGlobalCount, g_pCampaignGlobals, g_pCutsceneFilmResources, g_pCutsceneFontResources, g_pCutsceneFxResources, g_pCutsceneMouseResources, g_pCutsceneMusicResources, g_pCutscenePaletteResources, g_pCutscenePlaneResources, g_pCutsceneSceneResources, g_pCutsceneSequenceResources, g_pCutsceneShapeResources, g_pCutsceneSpeechResources, g_pCutsceneSpriteResources, g_pCutsceneTextResources, IdentityHandle(), InitializeCutsceneRuntimeResources(), CutsceneTextResource::next, CutsceneTextResource::owner, ParseCutsceneContainer(), PushCutsceneFileResource(), PushCutsceneObjectResource(), ReadNextSceneForm(), and ReleasePacketSlot().
Referenced by ParseCutsceneContainer(), RunCampaignScript(), RunCutsceneScript(), and UpdateShipTurretGuns().
| CutsceneResourceTable * PushCutsceneFileResource | ( | CutsceneResourceTable ** | head | ) |
Definition at line 366 of file iffload.c.
References AllocateScenePointerTable(), g_nCutsceneResourceLevel, CutsceneResourceTable::next, CutsceneResourceTable::owner, and PushCutsceneFileResource().
Referenced by ParseCutsceneContainer(), PushCutsceneFileResource(), and UpdateShipTurretGuns().
| CutsceneObjectResourceList * PushCutsceneObjectResource | ( | CutsceneObjectResourceList ** | head | ) |
Definition at line 618 of file iffload.c.
References AllocateScenePointerTable(), CutsceneObjectResourceList::dataCount, g_nCutsceneResourceLevel, CutsceneObjectResourceList::inheritedDataCount, CutsceneObjectResourceList::inheritedScriptCount, CutsceneObjectResourceList::next, CutsceneObjectResourceList::owner, PushCutsceneObjectResource(), and CutsceneObjectResourceList::scriptCount.
Referenced by ParseCutsceneContainer(), PushCutsceneObjectResource(), and UpdateShipTurretGuns().
| unsigned int ReadNextSceneForm | ( | unsigned char ** | cursor, |
| unsigned char ** | nextForm ) |
Definition at line 66 of file iffload.c.
References IdentityHandle(), ReadNextSceneForm(), and SwapSceneChunkSizeEndian().
Referenced by ConsumeCutscenePalettePacket(), DecodeCutsceneObjectResource(), DrawTextAt(), FindSceneHotspotAtPosition(), LoadSceneHotspotBoundsForSelection(), ParseCutsceneContainer(), ReadNextSceneForm(), and WaitForSceneAdvance().
| void ReleaseCutsceneFileResource | ( | short | owner, |
| CutsceneResourceTable ** | head ) |
Definition at line 731 of file iffload.c.
References CutsceneResourceTable::count, CutsceneResourceTable::loadedPackets, CutsceneResourceTable::next, CutsceneResourceTable::owner, ReleaseCutsceneFileResource(), ReleaseLoadedCutsceneResource(), ReleasePacketHandle(), and ReleasePacketSlot().
Referenced by ReleaseCutsceneFileResource(), ReleaseCutsceneResourceLevel(), RunLoadedCutscene(), and UpdateShipTurretGuns().
| void ReleaseCutsceneFileResourceExceptPacket | ( | short | owner, |
| CutsceneResourceTable ** | head, | ||
| void * | retainedPacket ) |
Definition at line 709 of file iffload.c.
References CutsceneResourceTable::count, CutsceneResourceTable::loadedPackets, CutsceneResourceTable::next, CutsceneResourceTable::owner, ReleaseCutsceneFileResourceExceptPacket(), ReleasePacketHandle(), and ReleasePacketSlot().
Referenced by ReleaseCutsceneFileResourceExceptPacket(), and UpdateShipTurretGuns().
| void ReleaseCutsceneObjectResource | ( | short | owner, |
| CutsceneObjectResourceList ** | head, | ||
| int | formType ) |
Definition at line 641 of file iffload.c.
References g_apCutscenePlanes, g_apCutsceneScenes, g_apCutsceneSequences, g_apSceneObjects, CutscenePlane::locals, CutsceneScene::locals, CutsceneSequence::locals, CutsceneObjectResourceList::next, CutsceneObjectResourceList::owner, CutsceneSequence::planeIndices, ReleaseCutsceneObjectResource(), ReleaseCutsceneObjectResourceData(), ReleasePacketHandle(), ReleasePacketSlot(), CutsceneScene::sequenceIndices, and CutscenePlane::spriteIndices.
Referenced by ReleaseCutsceneObjectResource(), ReleaseCutsceneResourceLevel(), and UpdateShipTurretGuns().
| unsigned char ReleaseCutsceneObjectResourceData | ( | CutsceneObjectResourceList * | resource | ) |
Definition at line 603 of file iffload.c.
References CutsceneObjectResourceList::dataEntries, CutsceneObjectResourceList::dataRuntimeIndices, CutsceneObjectResourceList::dataSymbolIndices, CutsceneObjectResourceList::dataSymbols, ReleaseCutsceneObjectResourceData(), ReleasePacketSlot(), CutsceneObjectResourceList::scriptRuntimeIndices, CutsceneObjectResourceList::scripts, CutsceneObjectResourceList::scriptSymbolIndices, and CutsceneObjectResourceList::scriptSymbols.
Referenced by ReleaseCutsceneObjectResource(), ReleaseCutsceneObjectResourceData(), and UpdateShipTurretGuns().
| void ReleaseCutsceneResourceLevel | ( | short | owner | ) |
Definition at line 763 of file iffload.c.
References g_pCutsceneFilmResources, g_pCutsceneFontResources, g_pCutsceneFxResources, g_pCutsceneMouseResources, g_pCutsceneMusicResources, g_pCutscenePaletteResources, g_pCutscenePlaneResources, g_pCutsceneSceneResources, g_pCutsceneSequenceResources, g_pCutsceneShapeResources, g_pCutsceneSpeechResources, g_pCutsceneSpriteResources, g_pCutsceneTextResources, ReleaseCutsceneFileResource(), ReleaseCutsceneObjectResource(), ReleaseCutsceneResourceLevel(), and ReleaseCutsceneTextResource().
Referenced by ReleaseCutsceneResourceLevel(), RunCutsceneScript(), RunLoadedCutscene(), and UpdateShipTurretGuns().
| void ReleaseCutsceneTextResource | ( | short | owner, |
| CutsceneTextResource ** | head ) |
Definition at line 749 of file iffload.c.
References CutsceneTextResource::entries, CutsceneTextResource::next, CutsceneTextResource::owner, ReleaseCutsceneTextResource(), ReleasePacketHandle(), and ReleasePacketSlot().
Referenced by ReleaseCutsceneResourceLevel(), ReleaseCutsceneTextResource(), and UpdateShipTurretGuns().
Definition at line 23 of file iffload.c.
References ReleasePacketHandle(), and ReleasePacketSlot().
Referenced by AdvanceSceneFlicStream(), BriefingMap_DisplayMap(), ConsumeCutscenePalettePacket(), DecodeCutsceneFileResource(), ejection_sequence(), FindSceneHotspotAtPosition(), HasSavedPilotCampaign(), InitializeNewPilotCampaign(), LoadCutsceneSpeechSlot(), LoadSceneHotspotBoundsForSelection(), LoadTemporaryCampaignGlobals(), OpenDiskDataFile(), ParseCutsceneContainer(), PollSceneHotspotInput(), ReleaseActiveCutscenePacket(), ReleaseCutsceneFileResource(), ReleaseCutsceneFileResourceExceptPacket(), ReleaseCutsceneObjectResource(), ReleaseCutsceneObjectResourceData(), ReleaseCutsceneSpeechPackets(), ReleaseCutsceneTextResource(), ReleaseLoadedCutsceneResource(), ReleasePacketSlot(), ReleaseSceneFlicPackets(), ReleaseSceneMusicPacket(), RouteCutsceneViewportToDisplay(), RunCampaignGameLoop(), RunCutsceneScript(), RunLoadedCutscene(), RunPilotDatabaseMenu(), RunPilotSaveLoadMenu(), SaveAndFreeTemporaryCampaignGlobals(), and WaitForSceneAdvance().
| void SkipCutsceneChunk | ( | unsigned char ** | cursor | ) |
Definition at line 89 of file iffload.c.
References IdentityHandle(), SkipCutsceneChunk(), and SwapSceneChunkSizeEndian().
Referenced by DecodeCutsceneObjectResource(), SkipCutsceneChunk(), and UpdateShipTurretGuns().
| void SwapSceneChunkSizeEndian | ( | int * | value | ) |
Definition at line 32 of file iffload.c.
References SwapSceneChunkSizeEndian().
Referenced by ConsumeCutscenePalettePacket(), DecodeSceneFileChunk(), DecodeSceneOffsetChunk(), DecodeSceneStructChunk(), DecodeSceneSymbolChunk(), DrawTextAt(), ReadNextSceneForm(), SkipCutsceneChunk(), and SwapSceneChunkSizeEndian().
|
extern |
Definition at line 3793 of file gameflow.c.
Referenced by ParseCutsceneContainer().
| CutsceneResourceTable* g_pCutsceneFilmResources = 0 |
Definition at line 18 of file iffload.c.
Referenced by ParseCutsceneContainer(), ReleaseCutsceneResourceLevel(), and RunCutsceneScript().
| CutsceneResourceTable* g_pCutsceneFontResources = 0 |
Definition at line 13 of file iffload.c.
Referenced by ParseCutsceneContainer(), ReleaseCutsceneFontPacket(), ReleaseCutsceneResourceLevel(), and RunCutsceneScript().
| CutsceneResourceTable* g_pCutsceneFxResources = 0 |
Definition at line 19 of file iffload.c.
Referenced by ParseCutsceneContainer(), ReleaseCutsceneResourceLevel(), and RunCutsceneScript().
| CutsceneResourceTable* g_pCutsceneMouseResources = 0 |
Definition at line 16 of file iffload.c.
Referenced by ParseCutsceneContainer(), and ReleaseCutsceneResourceLevel().
| CutsceneResourceTable* g_pCutsceneMusicResources = 0 |
Definition at line 20 of file iffload.c.
Referenced by AddCutsceneMusicNode(), ParseCutsceneContainer(), ReleaseCutsceneMusicNodes(), ReleaseCutsceneResourceLevel(), and RunLoadedCutscene().
| CutsceneResourceTable* g_pCutscenePaletteResources = 0 |
Definition at line 17 of file iffload.c.
Referenced by ParseCutsceneContainer(), ReleaseCutsceneResourceLevel(), and RunCutsceneScript().
| CutsceneObjectResourceList* g_pCutscenePlaneResources = 0 |
Definition at line 9 of file iffload.c.
Referenced by ParseCutsceneContainer(), ReleaseCutsceneResourceLevel(), and RunCutsceneScript().
| CutsceneObjectResourceList* g_pCutsceneSceneResources = 0 |
Definition at line 11 of file iffload.c.
Referenced by ParseCutsceneContainer(), ReleaseCutsceneResourceLevel(), RunCutsceneScript(), and RunLoadedCutscene().
| CutsceneObjectResourceList* g_pCutsceneSequenceResources = 0 |
Definition at line 10 of file iffload.c.
Referenced by ParseCutsceneContainer(), ReleaseCutsceneResourceLevel(), and RunCutsceneScript().
| CutsceneResourceTable* g_pCutsceneShapeResources = 0 |
Definition at line 15 of file iffload.c.
Referenced by ParseCutsceneContainer(), ReleaseCutsceneResourceLevel(), ReleaseCutsceneSpriteShape(), and RunCutsceneScript().
| CutsceneResourceTable* g_pCutsceneSpeechResources = 0 |
Definition at line 14 of file iffload.c.
Referenced by LoadCutsceneSpeechSlot(), ParseCutsceneContainer(), and ReleaseCutsceneResourceLevel().
| CutsceneObjectResourceList* g_pCutsceneSpriteResources = 0 |
Definition at line 8 of file iffload.c.
Referenced by CopyCutsceneSpriteDisplay(), LinkCutsceneSpriteScript(), ParseCutsceneContainer(), ReleaseCutsceneResourceLevel(), and RunCutsceneScript().
| CutsceneTextResource* g_pCutsceneTextResources = 0 |
Definition at line 12 of file iffload.c.
Referenced by ParseCutsceneContainer(), ReleaseCutsceneResourceLevel(), and RunCutsceneScript().