Code File Structure

From Arx Libertatis Wiki
Revision as of 18:23, 29 January 2011 by Lubosz (talk | contribs)
Jump to navigation Jump to search

I gather some ideas about restructuring the code and describe some code files here.

audio

I suppose a lot of this code will become useless when we find a cross platform audio library to replace it.

Old Name Proposition Comment
Athena_Ambiance.cpp Ambient
Athena.cpp Audio
Athena_Environment.cpp Environment
Athena_Global.cpp AudioGlobal
Athena_Instance.cpp AudioInstance
Athena_Mixer.cpp Mixer
Athena_Resource.cpp AudioResource
Athena_Sample.cpp Sample
Athena_Stream.cpp Stream
Athena_Track.cpp Track
ARX_C_sound.cpp AudioManager used in c_cinematic and c_loadsave. c managment of C_SOUND
codec
Old Name Proposition Comment
Athena_Stream_WAV.cpp WAV CodecWAV?
Athena_CoDec_ADPCM.cpp ADPCM CodecADPCM?
Athena_Codec_RAW.cpp RAW CodecRAW?

game

Old Name Proposition Comment
ARX_carte.cpp Map
ARX_Damages.cpp Damage
ARX_Equipment.cpp Equipment
ARX_Inventory.cpp Inventory
ARX_Levels.cpp Levels
ARX_NPC.cpp NPC
ARX_Missile.cpp Missile
ARX_Spells.cpp Spells
ARX_Player.cpp Player
ARX_Sound.cpp GameSound Game related Audio Code. Probably better to keep the highler-level sound files ARX_* separated from lower-level Athena

io

Old Name Proposition Comment
blast.cpp Blast
Filesystem.cpp Filesystem
HashMap.cpp HashMap
HERMES_ClusterSave.cpp ClusterSave
HERMESmain.cpp IO TODO: Meaningfull name
HERMESnet.cpp Registry Writes and Reads Windows Registry Keys.
Logger.cpp Logger
PakEntry.cpp PakEntry
PakManager.cpp PakManager
PakReader.cpp PakReader
ARX_C_loadsave.cpp IO2 TODO: Meaningfull name
ARX_Snapshot.cpp ScreenShot write screen shot file

scripting

Old Name Proposition Comment
SCRIPT_DEBUGGER_Dialog.cpp ScriptDebuggerDialog
ARX_Script.cpp Script
DANAE_Debugger.cpp ScriptDebugger

graphics

Old Name Proposition Comment
EERIEDraw.cpp Draw
EERIEenum.cpp GraphicsEnum
EERIEFrame.cpp Frame
EERIEMath.cpp Math
EERIEutil.cpp GraphicsUtility
ARX_Draw.cpp Draw2
ARX_Cedric.cpp Graphics / I dont know all kinds of graphics related stuff
particle
Old Name Proposition Comment
ARX_CParticle.cpp Particle TODO: Meaningfull name
ARX_CParticles.cpp Particles TODO: Meaningfull name
ARX_CParticleSystem.cpp ParticleSystem
ARX_Particles.cpp Particles2 TODO: Meaningfull name
effects
Old Name Proposition Comment
ARX_C_fx.cpp Effects
ARX_CSpellFx.cpp SpellEffects
ARX_Fogs.cpp Fog TODO: Meaningfull name
ARX_GlobalMods.cpp Fog2 FOG related d3d stuff TODO: Meaningfull name
spells

some hardcodet animations, should be abstracted and persisted (xml or such?)

Old Name Proposition Comment
ARX_SpellFX_Lvl01.cpp Spells01
ARX_SpellFX_Lvl02.cpp Spells02
ARX_SpellFX_Lvl03.cpp Spells03
ARX_SpellFX_Lvl04.cpp Spells04
ARX_SpellFX_Lvl05.cpp Spells05
ARX_SpellFX_Lvl06.cpp Spells06
ARX_SpellFX_Lvl07.cpp Spells07
ARX_SpellFX_Lvl08.cpp Spells08
ARX_SpellFX_Lvl09.cpp Spells09
ARX_SpellFX_Lvl10.cpp Spells10
data

Graphics data structure and manipulation (texture / mesh)

Old Name Proposition Comment
EERIEMeshTweak.cpp MeshManipulation
EERIEPoly.cpp Mesh
EERIEProgressive.cpp Progressive
EERIETexture.cpp Texture
ARX_C_mapp.cpp Texture2 bitmap , texture, uv stuff
ARX_FTL.cpp FTL FTL file reader

scene

Higher level assets managment

Old Name Proposition Comment
ARX_Scene.cpp Scene
EERIEobject.cpp Object Asset loading
EERIELight.cpp Light
EERIELinkedObj.cpp LinkedObject
ARX_Interactive.cpp Interactive gore stuff, npc, animation, io, camera, a lot of stuff
ARX_ChangeLevel.cpp SceneLoader
DanaeSaveLoad.cpp SaveLoad Loads DLF Files, Level initialization, Progress Bar

physics

Old Name Proposition Comment
ARX_Collisions.cpp Collisions
ARX_Physics.cpp Physics
EERIEClothes.cpp Clothes
EERIECollisionSpheres.cpp CollisionSpheres
EERIEPhysicsBox.cpp Box
ARX_Special.cpp Actors "ATTRACTORS" actor management with io
EERIEAnchors.cpp Anchors seems to do collision shapes and detection related things. i could be wrong though.

animation

Old Name Proposition Comment
ARX_C_cinematique.cpp Cinematic
ARX_C_keyframer.cpp Keyframer
ARX_Intro.cpp Intro
EERIEAnim.cpp Animation

gui

Old Name Proposition Comment
ARX_Interface.cpp GUI
ARX_Menu2.cpp Menu2
ARX_Menu.cpp Menu
ARX_MenuPublic.cpp MenuPublic
ARX_Minimap.cpp MiniMap
ARX_Text.cpp Text
ARX_ViewImage.cpp ViewImage
ARX_Speech.cpp Speech This isn't actually audio related. Text conversation rendering.

ai

Old Name Proposition Comment
ARX_Paths.cpp Paths
Minos_PathFinder.cpp PathFinder
EERIEPathfinder.cpp PathFinderManager

core

Old Name Proposition Comment
ARX_Common.cpp Common
ARX_Config.cpp Config
ARX_Time.cpp Time
Danae.cpp Core / StateManager
DanaeDlg.cpp Dialog
ARX_Loc.cpp Localization localization (could also fit in gui?)
ARX_LocHash.cpp LocalizationHash further localization code
EERIEApp.cpp Application rendering, input and window setup. this should be separated.
EERIE_AVI.cpp AVI plays avi files. could be put into audio and renamed to media ;) ?

window

Context creation, Window Management, Input

Old Name Proposition Comment
Mercury_global.cpp DXWindow2
Mercury_Main.cpp DXWindow1
ARX_Input.cpp DXInput1