| 1 | #define VBATT_DEFAULT_MIN (4550) |
|---|
| 2 | #define VBATT_DEFAULT_MAX (5150) |
|---|
| 3 | |
|---|
| 4 | #include "../generic/main.c" |
|---|
| 5 | |
|---|
| 6 | static struct { |
|---|
| 7 | int hackmode; |
|---|
| 8 | int canonmode; |
|---|
| 9 | } modemap[] = { |
|---|
| 10 | { MODE_AUTO, 32768 }, |
|---|
| 11 | { MODE_P, 32772 }, |
|---|
| 12 | { MODE_TV, 32771 }, |
|---|
| 13 | { MODE_AV, 32770 }, |
|---|
| 14 | { MODE_M, 32769 }, |
|---|
| 15 | { MODE_PORTRAIT, 32781 }, |
|---|
| 16 | { MODE_NIGHT, 32782 }, |
|---|
| 17 | { MODE_LANDSCAPE, 32780 }, |
|---|
| 18 | { MODE_VIDEO, 2590 }, |
|---|
| 19 | { MODE_STITCH, 33290 }, |
|---|
| 20 | { MODE_MY_COLORS, 16921 }, |
|---|
| 21 | { MODE_SCN_NIGHT, 16395 }, |
|---|
| 22 | { MODE_SCN_CHILD, 32775 }, |
|---|
| 23 | { MODE_SCN_PARTY, 16400 }, |
|---|
| 24 | { MODE_SCN_GRASS, 16401 }, |
|---|
| 25 | { MODE_SCN_SNOW, 16402 }, |
|---|
| 26 | { MODE_SCN_BEACH, 16403 }, |
|---|
| 27 | { MODE_SCN_FIREWORK, 16404 }, |
|---|
| 28 | { MODE_SCN_COLOR_ACCENT, 16920 } |
|---|
| 29 | }; |
|---|
| 30 | #define MODESCNT (sizeof(modemap)/sizeof(modemap[0])) |
|---|
| 31 | |
|---|
| 32 | long shooting_get_current_mode() { |
|---|
| 33 | int mode, i, t=0xFF; |
|---|
| 34 | |
|---|
| 35 | _GetPropertyCase(204, &t, 4); |
|---|
| 36 | mode = (t==4)?MODE_REC:MODE_PLAY; |
|---|
| 37 | mode |= (physw_status[1] & 0x00000001)?0:MODE_SCREEN_OPENED; |
|---|
| 38 | mode |= (physw_status[1] & 0x00000002)?0:MODE_SCREEN_ROTATED; |
|---|
| 39 | |
|---|
| 40 | t=0xFF; |
|---|
| 41 | _GetPropertyCase(0, &t, 4); |
|---|
| 42 | for (i=0; i<MODESCNT; ++i) { |
|---|
| 43 | if (modemap[i].canonmode == t) { |
|---|
| 44 | return (mode | (modemap[i].hackmode & MODE_SHOOTING_MASK)); |
|---|
| 45 | } |
|---|
| 46 | } |
|---|
| 47 | return (mode); |
|---|
| 48 | } |
|---|