Age | Commit message (Collapse) | Author |
|
Refactoring, no changes in behaviour.
|
|
Merge SoundFlag and SoundStatus into a single enum;
SoundEntry::setupStatus just casts one to another.
Keep only definitions of bits in SoundFlag; drop compound flags
like kFlagSteam = kSoundTypeAmbient | kSoundFlagLooped | kVolume7,
use ORed simple flags in calls; change the signature
of SoundManager::playSoundWithSubtitles to use uint32
instead of SoundFlag to avoid excess casting.
Add meaningful names to flags; add some comments.
Get rid of endian-unsafe SoundStatusUnion.
Fixes an issue with big-endian hosts.
No changes in behaviour on little-endian hosts.
|
|
Checked the logic against the original game
(to be precise, DOS English version from GOG, although I think
AI logic has no significant differences with other versions).
Fixed a *lot* of errors with varying visibility for the user.
Also, save+exit+load sometimes resulted in memory corruption like
((EntityParametersSSII*)(new EntityParametersIIII))->param8 = 0;
load operation did not restore the correct type of NPC logic context,
the default one was used (which also has the smallest sizeof).
Should be fixed now. Save+load is still unusable because it locks
everybody waiting for kActionEndSound (the sound state is not restored),
but, at least, it should not corrupt the memory. Hopefully.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
find -name '*.h' -or -name '*.cpp' | xargs sed -r -i 's@\(([A-Za-z0-9]+)\*\)@(\1 *)@g'
This seems to have caught some params as well which is not undesirable IMO.
It also caught some strings containing this which is undesirable so I
excluded them manually. (engines/sci/engine/kernel_tables.h)
|
|
|
|
Entities::processFrame()
|
|
|
|
|
|
- Implement missing queue reset function
- Cleanup SoundManager::playLoopingSound()
|
|
- Move entry-related functions to separate class
- Move enumeration to shared header and rename FlagType to SoundFlag
|
|
|
|
svn-id: r54367
|
|
- Add EntityCallData destructor to dispose of frames & Sequences
- Properly dispose of frames in Entities::resetSequences()
svn-id: r54270
|
|
When not keeping the previous frame, the current frame was overwritten.
We now delete it before assigning a new value.
svn-id: r54246
|
|
svn-id: r54201
|
|
This is a first step towards getting rid of all uses of regular printf,
fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase.
The name format() reflects the purpose of the function, and parallels
String.format() in Java, boost::format, and others.
svn-id: r54004
|
|
svn-id: r53880
|
|
svn-id: r53850
|
|
- Implement SaveLoad::writeEntry
- Implement missing saveLoadWithSerializer functions for all serialized classes & structs
- Add stub for SaveLoad::computePadding
svn-id: r53845
|
|
svn-id: r53694
|
|
svn-id: r53629
|
|
svn-id: r53588
|
|
svn-id: r53579
|