TODO
author Ryan C. Gordon <icculus@icculus.org>
Thu, 08 Mar 2007 21:31:59 +0000
changeset 790 7bbb2f82de07
parent 773 8215379394b5
child 791 43051d05bcc3
permissions -rw-r--r--
Outlined TODOs for Unicode support.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
98
2f7fe055f772 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 92
diff changeset
     1
Stuff that needs to be done and wishlist:
92
eae010ddea96 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 85
diff changeset
     2
624
7da70fac2126 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 577
diff changeset
     3
These are in no particular order.
7da70fac2126 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 577
diff changeset
     4
Some might be dupes, some might be done already.
136
e70c4231a8b7 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 109
diff changeset
     5
790
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
     6
UNICODE:
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
     7
- BeOS: uses UTF-8 internally in the OS, so that's already done.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
     8
- PocketPC: uses UCS-2 internally in the OS, and we're currently converting to
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
     9
            and from ASCII. Need to change this out.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    10
- Windows: Can use Unicode, but might only allow "codepages" ... Use
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    11
           GetProcAddress() to find Unicode entry points on WinNT-based
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    12
           systems, otherwise try to use a sane codepage.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    13
- Mac Classic: apparently supports _something_, but I might just write it off
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    14
               as a loss.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    15
- OS/2: Codepages. No full Unicode in the filesystem, but we can probably make
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    16
        a conversion effort.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    17
- Linux: uses UTF-8 internally, so that's already done.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    18
- Mac OS X: uses UTF-8 in the Unix layer, and is smart enough to convert
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    19
            internally when needed.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    20
- DIR: just pass UTF-8 strings through to platform layer.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    21
- GRP: No Unicode (only 12 bytes for filename, 8.3 format). Legacy format.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    22
- HOG: No Unicode (only 12 bytes for filename, 8.3 format). Legacy format.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    23
- LZMA: Uses UTF-8 internally, so we're good to go.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    24
- MIX: only stores filename HASHES...this driver is going away.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    25
- MVL: No Unicode (only 12 bytes for filename, 8.3 format). Legacy format.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    26
- QPAK: Only has 56 bytes for a path, but we can just treat these as
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    27
        UTF-8 and be done with it.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    28
- WAD: No Unicode (only 8 bytes for filename). Legacy format.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    29
- ZIP: Uses UTF-8 internally, so it's good to go.
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    30
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    31
Stuff:
7bbb2f82de07 Outlined TODOs for Unicode support.
Ryan C. Gordon <icculus@icculus.org>
parents: 773
diff changeset
    32
- Rename win32.c to windows.c ... it should work on Win64.
366
6760948ae9ad Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 361
diff changeset
    33
- Other archivers: perhaps tar(.gz|.bz2), RPM, ARJ, etc. These are less
136
e70c4231a8b7 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 109
diff changeset
    34
  important, since streaming archives aren't of much value to games (which
e70c4231a8b7 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 109
diff changeset
    35
  is why zipfiles are king: random access), but it could have uses for, say,
624
7da70fac2126 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 577
diff changeset
    36
  an installer/updater.
572
2728e1a3e75d Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 539
diff changeset
    37
- Stack allocate in stripAppleBundle() (platform/unix.c) instead of calloc().
624
7da70fac2126 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 577
diff changeset
    38
- Reduce malloc() pressure all over the place. We fragment memory like mad.
405
ed88009b9030 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 401
diff changeset
    39
- macclassic.c :
ed88009b9030 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 401
diff changeset
    40
  "/* (Hmm. Default behaviour is broken in the base library.  :)  )  */"
572
2728e1a3e75d Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 539
diff changeset
    41
- Platforms to port to: Amiga (needs platform driver), DOS4GW (platform driver).
466
1e3b97bcdee4 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 455
diff changeset
    42
- profile string list interpolation.
484
607915da2103 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 475
diff changeset
    43
- We have two different ways to find dir entries in zip.c.
607915da2103 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 475
diff changeset
    44
- Do symlinks in zip archiver work when they point to dirs?
469
e41c2b9bf868 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 466
diff changeset
    45
- Enable more warnings?
360
dcc6c3366dc7 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 359
diff changeset
    46
- Use __cdecl in physfs.h?
136
e70c4231a8b7 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 109
diff changeset
    47
- Look for FIXMEs (many marked with "!!!" in comments).
e70c4231a8b7 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 109
diff changeset
    48
- Probably other stuff. Requests and recommendations are welcome.
643
95824caf2dbf Updated with current 2.0 wishlist.
Ryan C. Gordon <icculus@icculus.org>
parents: 624
diff changeset
    49
- Cygwin should use unix/posix and not win32 platform code.
95824caf2dbf Updated with current 2.0 wishlist.
Ryan C. Gordon <icculus@icculus.org>
parents: 624
diff changeset
    50
- Expose the archiver registration mechanism to the outside world.
95824caf2dbf Updated with current 2.0 wishlist.
Ryan C. Gordon <icculus@icculus.org>
parents: 624
diff changeset
    51
- Find some way to relax or remove the security model for external tools.
95824caf2dbf Updated with current 2.0 wishlist.
Ryan C. Gordon <icculus@icculus.org>
parents: 624
diff changeset
    52
- Non-blocking I/O
95824caf2dbf Updated with current 2.0 wishlist.
Ryan C. Gordon <icculus@icculus.org>
parents: 624
diff changeset
    53
- mmap() in posix.c
95824caf2dbf Updated with current 2.0 wishlist.
Ryan C. Gordon <icculus@icculus.org>
parents: 624
diff changeset
    54
- OSX shouldn't use ~/.app for userdir.
95824caf2dbf Updated with current 2.0 wishlist.
Ryan C. Gordon <icculus@icculus.org>
parents: 624
diff changeset
    55
- fscanf and fprintf support in extras dir.
647
c83b6827fc7d Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 643
diff changeset
    56
- Why do we call it openArchive and dirClose?
c83b6827fc7d Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 643
diff changeset
    57
- Sanity check byte order at runtime.
c83b6827fc7d Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 643
diff changeset
    58
- Memory locking?
649
85aeb90378bc Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 647
diff changeset
    59
- Find a better name than dvoid and fvoid.
85aeb90378bc Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 647
diff changeset
    60
- Can win32.c and pocketpc.c get merged?
85aeb90378bc Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 647
diff changeset
    61
- There's so much cut-and-paste between archivers...can this be reduced?
85aeb90378bc Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 647
diff changeset
    62
- General code audit.
85aeb90378bc Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 647
diff changeset
    63
- Multiple write dirs with mount points?
85aeb90378bc Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 647
diff changeset
    64
- Deprecate PHYSFS_setSaneConfig and move it to extras?
652
97b803df5a76 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 649
diff changeset
    65
- Why is physfsrwops.c cut-and-pasted into the ruby bindings?
656
d2c34dbf2c83 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 653
diff changeset
    66
- Replace code from SDL...
d2c34dbf2c83 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 653
diff changeset
    67
- MIX grabs all archives that no other archivers claim.
d2c34dbf2c83 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 653
diff changeset
    68
- MIX enumerates files as hash values.
d2c34dbf2c83 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 653
diff changeset
    69
- Should file enumeration return an error or set error state?
d2c34dbf2c83 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 653
diff changeset
    70
- Ryanify pocketpc.c ...
660
c2798cc94039 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 657
diff changeset
    71
- Update internal zlib?
705
20007d326728 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 702
diff changeset
    72
- Need "getmountpoint" command in test_physfs.c ...
706
45e95d73850d Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 705
diff changeset
    73
- Look for calloc() calls that aren't going through the allocation hooks.
643
95824caf2dbf Updated with current 2.0 wishlist.
Ryan C. Gordon <icculus@icculus.org>
parents: 624
diff changeset
    74
- maybe other stuff.
737
15d155f3683f Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 706
diff changeset
    75
- Is -Wall enabled?
756
f61923cbf078 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 737
diff changeset
    76
- Make mutexes recursive, so callbacks can call into the API.
773
8215379394b5 Updated.
Ryan C. Gordon <icculus@icculus.org>
parents: 756
diff changeset
    77
- Archivers need abstracted i/o to read from memory or files (archives in archives?)
77
13a58793ca58 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    78
13a58793ca58 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    79
// end of TODO ...
13a58793ca58 Initial add.
Ryan C. Gordon <icculus@icculus.org>
parents:
diff changeset
    80