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
|
|
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
|
|
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
|
CinematicLoad
|
|
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
|
Low level render stuff like EERIEDrawSprite
|
EERIEenum.cpp
|
GraphicsEnum
|
|
EERIEFrame.cpp
|
Frame
|
|
EERIEMath.cpp
|
Math
|
|
EERIEutil.cpp
|
GraphicsUtility
|
|
ARX_Draw.cpp
|
DrawEffects
|
High level stuff like ARXDRAW_DrawEyeBall
|
ARX_GlobalMods.cpp
|
RenderModes
|
FOG related d3d stuff
|
particle
Old Name
|
Proposition
|
Comment
|
ARX_CParticle.cpp
|
Particle
|
CParticle class
|
ARX_CParticles.cpp
|
ParticleManager
|
CParticleManager class
|
ARX_CParticleSystem.cpp
|
ParticleSystem
|
CParticleSystem class
|
ARX_Particles.cpp
|
ParticleEffects / ParticleGenerator
|
Specific particle effect generation
|
effects
Old Name
|
Proposition
|
Comment
|
ARX_C_fx.cpp
|
CinematicEffects
|
|
ARX_CSpellFx.cpp
|
SpellEffects
|
|
ARX_Fogs.cpp
|
Fog
|
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
|
CinematicTexture
|
bitmap , texture, uv stuff, even vertex for CINEMATIQUE
|
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
|
ChangeLevel
|
|
DanaeSaveLoad.cpp
|
LoadLevel
|
Loads DLF Files, Level initialization, Progress Bar
|
ARX_C_sound.cpp
|
CinematicSound
|
used in c_cinematic and c_loadsave. c managment of C_SOUND
|
ARX_Sound.cpp
|
GameSound
|
Game related Audio Code. Probably better to keep the highler-level sound files ARX_* separated from lower-level Athena
|
physics
Old Name
|
Proposition
|
Comment
|
ARX_Collisions.cpp
|
Collisions
|
|
ARX_Physics.cpp
|
Physics
|
|
EERIEClothes.cpp
|
Clothes
|
|
EERIECollisionSpheres.cpp
|
CollisionShapes
|
also creates a Cylinder
|
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
|
CinematicKeyframer
|
|
ARX_Intro.cpp
|
Intro
|
|
EERIEAnim.cpp
|
Animation
|
|
gui
Old Name
|
Proposition
|
Comment
|
ARX_Interface.cpp
|
Interface
|
|
ARX_Menu2.cpp
|
MenuWidgets
|
Holds classes: CMenuZone, CMenuAllZone, CMenuElement, CMenuPanel, CMenuElementText, CMenuButton (etc). Should be split into seperate files
|
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
|
A lot of code should be extracted
|
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
|
|